现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令,然后再通过脚本命令调用python程序。来个实例...
1. matlab中调用系统脚本命令
matlab可以通过system()来执行系统脚本命令,例如windows系统中简单的dir命令:
system(dir)
结果就会返回文件夹内容:
![6a01de284670a53bc109e813bfa8f562.png](https://i-blog.csdnimg.cn/blog_migrate/8f34392016b2b8258767e9215f2ef116.png)
2. 通过cmd执行python程序
我的python程序test.py如下:
#!/usr/bin/python3
import sys
print ('参数个数为:', len(sys.argv), '个参数。')
print ('参数列表:', str(sys.argv))
a = float(sys.argv[1]);
b = float(sys.argv[2]);
print('a+b结果为:',a+b)
可以在cmd中,来执行这段代码(注意:python需添加在系统环境目录中):
python test.py 1 2
数据结果如下:
![9d16c08546633d9294cf7e7ff1e810e0.png](https://i-blog.csdnimg.cn/blog_migrate/e904c9930ec004ae1ac315126ad072c8.png)
3. 在matlab中调用python程序
下一步,把cmd调用python程序的代码放在matlab中执行。
如下:
command = 'python test.py 1 2';
status = system(command);
输出结果:
![c8c23dc3aec3413386ae72de406ba10e.png](https://i-blog.csdnimg.cn/blog_migrate/cb99dc765cc40d0419b960f7d3f1fe7f.png)
可以看出,输出结果是cmd中调用是一样的。
通过这种方式,我们就可以不用重写,直接调用现有的python脚本文件了。
另外,Matlab可以通过py模块直接调用python,更加便捷,参见:https://zhuanlan.zhihu.com/p/92081119