移动微网站开发,石景山区网站建设,WordPress设置模块间距,便利的网站建设matlab官网#xff1a;https://ww2.mathworks.cn/?s_tidgn_logo matlab外部语言和库接口#xff0c;包括 Python、Java、C、C、.NET 和 Web 服务。
matlab和python的版本 安装依赖配置
安装matlab的engine 找到matlab的安装目录#xff1a;“xxx\ extern\engines\python…matlab官网https://ww2.mathworks.cn/?s_tidgn_logo matlab外部语言和库接口包括 Python、Java、C、C、.NET 和 Web 服务。
matlab和python的版本 安装依赖配置
安装matlab的engine 找到matlab的安装目录“xxx\ extern\engines\python”在命名窗口cd到该目录运行“python setup.py install”命令运行完成后将生成如下文件夹
python调用matlab
启动引擎
import matlab.engine
eng matlab.engine.start_matlab()通过调用 start_matlab 启动新的 MATLAB® 进程。start_matlab 函数返回 Python 对象 eng它是用于与 MATLAB 进程通信的 MatlabEngine 对象。 异步启动引擎
import matlab.engine
future matlab.engine.start_matlab(backgroundTrue)启动多个引擎 从每个引擎启动一个不同的 MATLAB 进程。
import matlab.engine
eng1 matlab.engine.start_matlab()
eng2 matlab.engine.start_matlab()输入参数
options可参照https://ww2.mathworks.cn/help/matlab/matlab_env/commonly-used-startup-options.htmlbackground同步或异步启动 MATLAB。如果 background 为 True会异步启动 MATLAB。
调用 MATLAB函数
调用文件夹 myFolder 中的 MATLAB 函数 myFnc
import matlab.engine
eng matlab.engine.start_matlab()
eng.cd(rmyFolder, nargout0)
eng.myFnc()调用 MATLAB脚本
import matlab.engine
eng matlab.engine.start_matlab()
eng.triarea(nargout0)从 MATLAB 函数返回输出参数
确定某个数是否为质数调用 isprime 函数。
import matlab.engine
eng matlab.engine.start_matlab()
tf eng.isprime(37)
print(tf)从 MATLAB 函数返回多个输出参数
默认情况下该引擎会返回单个输出参数。若返回多个参数使用 nargout 参数指定输出参数的数量。 确定两个数的最大公分母请使用 gcd 函数。设置 nargout 以从 gcd 返回三个输出参数。
import matlab.engine
eng matlab.engine.start_matlab()
t eng.gcd(100.0,80.0,nargout3)
print(t)如果函数不返回任何参数则将 nargout 设为 0。
import matlab.engine
eng matlab.engine.start_matlab()
eng.doc(nargout0)在 Python 中使用 MATLAB 数组
Python list 创建一个 MATLAB 数组
import matlab.engine
eng matlab.engine.start_matlab()
a matlab.double([1,4,9,16,25])
b eng.sqrt(a)
print(b)MATLAB 数组和Python 变量的关系如下 https://ww2.mathworks.cn/help/matlab/matlab_external/matlab-arrays-as-python-variables.html MATLAB 标量类型到 Python 类型的映射 https://ww2.mathworks.cn/help/matlab/matlab_external/handle-data-returned-from-matlab-to-python.html
停止引擎
eng.quit()