我想生成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)= ..
感谢您的帮助
答案 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)
您说您希望能够拨打x5
,x6
,...而是打电话给您
例如xkFunc(x,5)
。
MATLAB将@
之后的括号变量替换为后续输入,调用时公式中的任何位置。