我正在尝试使用Matlab使用symsum
。但我犯了一个奇怪的错误。
我正在尝试将矢量的元素放入symsum
:
a=[1,2,3,40,51,61];
syms u n
S1(u) = symsum((a(n+1)*(-u)^n)/factorial(n),n,[0,6])
错误为:
无效的索引或函数定义。定义函数时,请确保参数是符号变量,函数体是SYM表达式。索引时,输入必须是数字、逻辑或":"。
首先,我可以看到一个错误,在您编写a(n+1)
时,n
从0
变为6
。当n
等于6
时,您将得到不存在的a(7)
。CCD_ 10只有6个元素。
然后,您会遇到另一个问题,因为您正在用符号索引a
,并且不允许使用符号索引(请参阅本文(。
n
真的需要成为一个符号吗?你真的需要使用symsum
吗?如果没有,你可以尝试:
a = [1,2,3,40,51,61];
n = 0:5;
syms u
S1(u) = sum( sym( (a(n+1).*(-u).^n)./factorial(n) ) )
返回:
S1(u) =
- (61*u^5)/120 + (17*u^4)/8 - (20*u^3)/3 + (3*u^2)/2 - 2*u + 1