我是靠谱客的博主 腼腆高跟鞋,最近开发中收集的这篇文章主要介绍Matlab调用python基本步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基本步骤

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基本步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部