迭代系数可变的函数总和

夹克

我正在尝试编写如下代码。

syms c, p
yfunc=symfun(0, [c,p])
y=[1 2 3 4 5] 
for j=1:5
       func=symfun((y(j+1)-c-p*y(j))^2, [c,p]);
       yfunc=yfunc+func;
end

我曾期望'yfunc'本身具有五个不同的功能'c'和'p'。但是此代码不起作用。首先,symfun将y(j)识别为符号,而不是向量y中的值。因此,我也尝试像下面那样做,而不是使用symfun。

func=@(c,p)[(y(j+1)-c-p*y(j))^2]

但这行不通。因为在下一行'yfunc = yfunc + func'中,函数句柄中不允许加号。

你有什么主意吗?

谢谢!

用户名

这个怎么样,

syms c p

y = [1 2 3 4 5];
x = circshift(y, [1, 1]);

yfunc = symfun(sum((x-c-p*y).^2), [c, p]);

您的for循环本来会超出范围,y所以我做了一个circshift您可以通过x(1) = ...在分配行之后说来轻松地更改此设置x祝你好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章