【问题标题】:How can we put element of vector to symsum?我们如何将向量的元素放入 symsum?
【发布时间】:2024-04-26 06:30:02
【问题描述】:

我正在尝试使用 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 表达式。索引时,输入必须是数字、逻辑或':'。

【问题讨论】:

    标签: matlab vector series


    【解决方案1】:

    首先,我可以看到你写 a(n+1) 的错误,因为 n0 变为 6。当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
    

    【讨论】: