Matlab中符号变量的总和

时间:2018-05-28 13:06:02

标签: matlab

我想对由

构造的符号变量求和
<context:component-scan base-package="de.some.package" />
<mvc:annotation-driven />

我以为我可以通过 x = transpose(sym('x',[1 5])) 致电x1。因此,我做了以下,

x(1)

不幸的是我收到了以下错误

  

数组索引必须是正整数或逻辑值。

有没有办法解决这个错误?

1 个答案:

答案 0 :(得分:1)

根据symsum的文档,范围变量(i在你的情况下应该是一个符号变量)。您尚未将i定义为符号变量,因此它被视为imaginary unit(这是其默认的内置定义)。避免使用ij作为变量总是明智的,因为它们是MATLAB中的虚构单元。

然而,修复此问题并不能解决所有问题。显然,symsum的函数定义中不允许索引符号变量。为了完成您的预期操作,我会像这样使用sum

x =  sym('x', [1 5]);   
syms p;
sum(p.^(1:5) .* x)

给出:

ans = 
x5*p^5 + x4*p^4 + x3*p^3 + x2*p^2 + x1*p