python和Matlab可以互相调用吗(matlab和python混合编程)

http://www.itjxue.com  2023-04-05 09:18  来源:未知  点击次数: 

Python 和Matlab 数据互导

import scipy.io as io

import numpy as np

io.savemat("E:\mytest.mat",{'a':1,'b':2,'c':3,'d':4})

io.savemat("E:\mytest.mat",{'x':[[1,2,3,4],[5,6,7,8]]})

data=io.loadmat('E:\mytest.mat') # data是一个dictionary

x=data['x'] # 将dic中的键(x)对应的value传给变量x

print(x)

'''

result:

[[1 2 3 4]

[5 6 7 8]]

'''

怎么用python调用matlab

接下来在调用test函数

from win32com.client import Dispatch

h = Dispatch("Matlab.application")#启动MATLAB自动化服务器

h.execute("test(0.0,512.0)")

此时MALTAB会打开MATLAB Command Window,而且python的结果很可能为如下错误提示

“??? Undefined function or method 'test' for input arguments of type 'double'.”

这是因为路径的原因造成的。把你的.m文件和.py放在同一路径下,在MATLAB Command Window中cd到此路径,再执行,就会成功调用test函数,绘出正确的图形。

怎么用python调用matlab?

Vim,Python,Matlab之间有6=3*2中关系。我们这里只说,vim调Python, vim调matlab, python调matlab三种情况。vim可以编辑.py,和.m文件,也有语法高亮。如果能在编辑完文档后按个什么键,就能执行程序是在好不过的了。matlab强是强在科学计算,矩阵计算,但是它的数据结构很单一,字符串处理上稍显不足。因此python调用matlab的情况也是有可能的。python毕竟是一样很强大的语言。(官网上通篇英语,确有两个汉字“下载”)!

1. Vim调用Python

从最简单的说吧。vim执行python代码,极其简单。

:py+{python代码},执行python2的代码。(+与{}不用输入)

:py3+{python代码},执行python3的代码。(+与{}不用输入)这种方式适合写只有一行的代码,也非常适合在编写vim插件时引用python代码。

:pyfile+{xxx.py}, 执行python的代码,代码写在文件中。(+与{}不用输入)

:py3file+{xxx.py}, 执行python3的代码。(+与{}不用输入)

(责任编辑:IT教学网)

更多