这个问题与仅存在MATLAB运行时的情况有关 - 计算机没有完整的MATLAB许可证。
已编译MATLAB函数供Python使用,如here所述:
这些指令已成功用于从Python调用用户定义的MATLAB函数,并获取参数为int
或float
的返回值。但是,如果我调用用户定义的MATLAB函数f(matrixParam)
,其参数为MATLAB类型matrix
,那么无论我在Python中使用哪种数据类型,我都会得到错误的类型错误。我尝试了以下Python类型:列表列表([[1,2],[3,4]]
),Pandas.DataFrame和NumPy.matrix - 没有任何作用。在MATLAB中,类型a
的变量matrix
可以这样定义:a = [1 2 3; 4 5 6; 7 8 10]
。
有人会知道我如何在Python中定义一个MATLAB函数可接受为matrix
类型的变量吗?
答案 0 :(得分:0)
答案结果是:
import matlab
myMatrix = matlab.double([[1,2],[3,4]])
然后可以将 myMatrix
传递给MATLAB函数。如果MATLAB测试其类型,它甚至会变为True:ismatrix(myMatrix)
。