概述
基本步骤
1 、在进入Matlab后,首先在主窗口点击 设置路径,添加python的安装目录(选择“添加并包含子文件夹”),就可以自动添加python目录下的路径。或者通过以下命令也可实现。
pyversion python解释器路径
打开MATLAB, 输入pyversion, 结果如下
>> pyversion
version: '3.7'
executable: 'C:ProgramDataAnaconda3python.exe'
library: 'C:ProgramDataAnaconda3python37.dll'
home: 'C:ProgramDataAnaconda3'
isloaded: 0
说明Matlab已经找到python解释器。
2 、matlab中调用python函数,统一格式为py.*
2.1 如要调用python默认函数,比如,py.print(‘Hello world!’),就可以使得屏幕输出Hello world!
2.2 如果要在matlab中调用自己写的python script,如test.py,则首先要将test.py目录添加至matlab搜索路径。或者在.m
文件前加上下面的代码。
if count(py.sys.path,'') == 0
insert(py.sys.path,int32(0),'');
end
假设tets.py中有函数mycc,可以用调用py.test.mycc调用该函数。下面为一个简单的类,将其保存为myClass.py。
class myClass:
version = 1.0
def __init__(self,a,b):
self.a, self.b = a,b
def getsum(self):
return self.a+self.b
然后在Matlab中输入即可得到。
>> pyObj = py.myPyClass.myClass(1,2);
>> pyObj.getsum
ans =
3
2.3 在调用自己写的python script时,经常遇到的一个问题是要对python script进行修改,这种情况下matlab中会使用缓存库,而不会自动使用更新后的script,会提示找不到更改后的函数。解决办法有两种:
2.3.1 重启matlab,就会清空缓存,一切ok
2.3.2 在代码中添加如下代码进行重新加载,也能够加载更新后的函数。
clear classes;
mod = py.importlib.import_module('test');
py.importlib.reload(mod);
tip
在Matlab中将 Numpy 库返回的 ndarray
类型转换:
data = double(py.array.array('d',py.numpy.nditer(value)));
最后
以上就是腼腆高跟鞋为你收集整理的Matlab调用python基本步骤的全部内容,希望文章能够帮你解决Matlab调用python基本步骤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复