有没有办法在Matlab中使用相同的公式生成50个函数?

时间:2016-12-12 20:18:00

标签: matlab function

我想生成50个由以下函数导出的函数:xk' = - x_ {k-1} * x_ {k-2} -x_ {k},其中k = 1,2,... 50。有没有聪明的'没有手动编写它的方法。例如,我如何生成

X5' = - X_ {4} * X_ {3} -x {5} .... x30' = - x_ {29} * x_ {28} -x {30}

对于从1到50的所有k,但我希望x1,...,x50是符号变量,因此,稍后我可以调用它们像x34(15)= ..

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

正如Suever建议的那样,使用匿名函数完成,该函数需要2个输入而不是1个!

xkFunc = @(x,k) - x{k} * x{k-1} - x{k} 

您还没有说明输入是什么,但是从您的符号我假设x是一个单元格而k是一个用于索引的整数。在这种情况下,这将有效。如果x是向量/矩阵(不是单元格),则使用常规括号

xkFunc = @(x,k) - x(k) * x(k-1) - x(k) 

您说您希望能够拨打x5x6,...而是打电话给您 例如xkFunc(x,5)

MATLAB将@之后的括号变量替换为后续输入,调用时公式​​中的任何位置。