我们怎样才能把向量的元素放在求和上?

时间:2018-11-05 12:36:45

标签: matlab vector series

我正在尝试通过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表达式。编制索引时,输入必须为数字,逻辑或“:”。

1 个答案:

答案 0 :(得分:1)

首先,我发现您在写a(n+1)时出错,因为n06。当n等于6时,您将拥有不存在的a(7)a只有6个元素。

然后,您遇到另一个问题,因为您正在用符号索引a,并且不允许使用符号索引(请参阅this post)。

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