如何评估多变量函数

时间:2019-04-07 14:23:42

标签: matlab

考虑具有5个变量的函数f(y1,y2,y3,y4,z1)=(-(z1^3)/(y3^2))(3(y2-y1+y3^(-1)-z1/10)^2+(1/5)(y2-y1+y3^(-1)-(z1)/10))-y4。当我放f(1,1,1,1,1)时,我找到了答案,但是当我写f(v)时,v=(1,1,1,1,1) matlab不起作用。我该怎么做(通过第二种方式)?

1 个答案:

答案 0 :(得分:1)

您可以编写一个包装函数,该函数将一个向量作为输入参数,并在调用函数之前“解压缩”该向量。

f(y1,y2,y3,y4,z1) = (-(z1^3)/ ...;               % your function
fv(v) = f(v(1),v(2),v(3),v(4),v(5));

或者,通过使用适当的索引,使f引用输入向量中的元素:

f(v) = (-(v(5)^3)/(v(3)^2)); ... % etc.