【发布时间】:2015-09-02 17:01:57
【问题描述】:
我有一个从 python 脚本调用的 Matlab 函数:
import matlab.engine
eng = matlab.engine.start_matlab()
t = (1,2,3)
z = eng.tstFnc(t)
print z
函数tstFnc如下:
function [ z ] = tstFnc( a, b, c )
z = a + b + c
但是,这不起作用,因为 Matlab 接收一个输入而不是三个。可以让它工作吗?
注意:这是我想要做的简化案例。在实际问题中,我将可变数量的列表传递给 Matlab 函数,这些列表在 Matlab 函数中使用 varargin 进行解释。
【问题讨论】:
-
尝试
z = eng.tstFnc(*t)应用参数而不是将它们作为元组传递 -
@Pyrce 我不敢相信这有效:D 谢谢!
-
太棒了!我将其添加为答案
标签: python matlab python-2.7 matlab-engine