matlab中的函数句柄错误

时间:2012-09-03 11:15:52

标签: matlab function-handle

我想调用函数句柄model_jacobian,但我得到“使用==> horzcat时出错” CAT参数维度不一致。“。当我选择在jacobian中保留ad coefs的函数时,一切正常。

syms a d x;  
syms_function = a*x+d;                                                    
model_jacobian = matlabFunction(jacobian(syms_function, [a d]), 'vars', {[a d], x});
J = model_jacobian([1 1], [1 2 3 4 5 6 7 8 9]');

那么如何使用参数调用函数句柄,尽管事实上它们没有在那里使用?

1 个答案:

答案 0 :(得分:1)

您可能已经解决了这个问题,但您可能需要重新考虑您的vars规范。文档说:

  

此参数的值必须是字符串或符号数组的单元格数组,或符号变量的矢量

您有一个符号变量的单元格数组,这似乎不正确。我会保持简单,如:

'vars',[ a d x])