matlab 如何同时运行两个文件(.py)并将变量更新为另一个文件?

db2dz4w8  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(360)

我的明确目标是将实时值从Python更新到MatLab(Simulink),以应用于控制系统。
在进程分离的情况下,得到实时更新值。值类型为整数。
我想将这个更新值传递给MatLab工作区。因此,我尝试使用MatLab工作区中的命令:pyrunfile(‘A.py’)
但是,正如您看到的这个链接,第10行“对Python支持的限制”https://fr.mathworks.com/help/matlab/matlab_external/limitations-to-python-support.html
MatLab不支持多处理。换句话说,如果我尝试从MatLab工作区运行python文件,它不能工作。
但多路处理是我工作所必需的。(不使用多线程)
所以我的想法是:
1.运行包含多处理的a.py文件。
1.在A.py仍在运行的情况下,我使用循环将所需的更新值传递给另一个文件B.py。
1.将此值导出到MatLab工作区。
1.MATLAB工作区->SIMULINK
首先,我想知道这听起来是否可行。如果没有,我希望有一些其他的工作流程建议。
摘要:
由于存在多进程,所以不能使用Python->MatLab。
Python->??->MatLab,还有其他方法吗?

i2loujxw

i2loujxw1#

我不确定这是否是最有效的方法,但您可以将变量写入一个文件,然后从另一个文件中读取它。

#Read file
with open("file.txt", "r") as txt_file:
    return txt_file.readlines()

#Open file
txt_file = open("file.txt", "w")
txt_file.write(var)
txt_file.close()

您可以像这样传递这些值。我不确定如何做剩下的,但我希望这会有帮助
另外,只需创建命令行的两个示例,然后分别运行这两个文件即可

相关问题