由MATLAB中的矢量输入"内联"定义的函数

Jac*_*ack 1 matlab

使用定义函数

f = inline('x+P1*P2-P3',3);
Run Code Online (Sandbox Code Playgroud)

可以计算f(1,2,3,4),f(0,1,2,1)等.

我应该如何编写函数,f以便我可以使用诸如1:4[2,3,6,4]作为输入的向量?

Tro*_*kin 5

发布的代码可以使用,因为不推荐使用的结构非常严格inline:

inline(expr,n)这里n是一个标量,构建了一个内联函数,其输入参数为x,P1,P2,....

注意:" inline将在以后的版本中删除.请改用匿名函数."

注意到该注释,您可以通过执行以下操作来复制已发布代码的行为:

f = @(x,P1,P2,P3) x+P1*P2-P3;
Run Code Online (Sandbox Code Playgroud)

您还可以通过x在匿名函数的主体中对其进行索引并将其编入索引来获得所需的行为:

f = @(x) x(1)+x(2)*x(3)-x(4);
Run Code Online (Sandbox Code Playgroud)