从Python调用MATLAB函数,什么是Python';s等价于MATLAB';矩阵&x27;数据类型?

从Python调用MATLAB函数,什么是Python';s等价于MATLAB';矩阵&x27;数据类型?,python,matlab,Python,Matlab,这个问题与只有MATLAB运行时的情况有关——计算机没有完整的MATLAB许可证 已编译一个MATLAB函数供Python使用,如下所述: 这些指令已成功用于从Python调用用户定义的MATLAB函数,并在参数为int或float时获得返回值。但是,如果我调用一个用户定义的MATLAB函数f(matrixParam),该函数的参数为MATLAB类型matrix,那么无论我在Python中使用什么数据类型,我都会得到错误的类型错误。我尝试了以下Python类型:列表列表([[1,2],[3,4]

这个问题与只有MATLAB运行时的情况有关——计算机没有完整的MATLAB许可证

已编译一个MATLAB函数供Python使用,如下所述:

这些指令已成功用于从Python调用用户定义的MATLAB函数,并在参数为
int
float
时获得返回值。但是,如果我调用一个用户定义的MATLAB函数
f(matrixParam)
,该函数的参数为MATLAB类型
matrix
,那么无论我在Python中使用什么数据类型,我都会得到错误的类型错误。我尝试了以下Python类型:列表列表(
[[1,2],[3,4]]
)、Pandas.DataFrame和NumPy.matrix-什么都不起作用。在MATLAB中,矩阵类型的变量
a
可以这样定义:
a=[1 2 3;4 5 6;7 8 10]


有谁知道我将如何在Python中定义一个MATLAB函数可以接受的变量,该变量的类型为
matrix

答案是:

import matlab

myMatrix = matlab.double([[1,2],[3,4]])

myMatrix
然后可以传递给MATLAB函数。如果MATLAB测试它的类型:
ismatrix(myMatrix)

,这似乎是特定于您使用的函数的,那么它甚至会成为真的。您能举一个Python的例子,它使用“matrix”类型的参数调用MATLAB函数,并且不会抛出错误吗?