matlab程序里调用python文件
用system调用:
参考连接:
https://zhidao.baidu.com/question/919137899588311499.html
https://blog.csdn.net/yanerhao/article/details/78669640
https://blog.csdn.net/u013685264/article/details/99596798
https://ww2.mathworks.cn/help/matlab/ref/system.html
matlab调用语句为:
[status, cmdout] = system('python xxx.py in.txt out.txt')
其中,xxx.py为要调用的文件,如果和当前的matlab文件不在同一目录下,记得要把路径补全;
in.txt 是xxx.py读入的文件;
out.txt 是xxx.py输出的文件。
即,matlab把所有参数输出到in.txt文件里,然后用system命令调python脚本。python脚本读in.txt文件做计算结果再写文件到out.txt中。最后matlab再读out.txt文件得到结果。
注意:
因为调用的python代码用到了pytorch的库。如果用上述语句运行的时候报错,“import error: from torch._C import * RuntimeError: stoi”
改为:
[status, cmdout] = system('env -i /home/hwy/anaconda3/bin/python3 xxx.py');
就不会报错了,如果没有in.txt 和 out.txt 也可以不写。