我想对由
构造的符号变量求和<context:component-scan base-package="de.some.package" />
<mvc:annotation-driven />
我以为我可以通过 x = transpose(sym('x',[1 5]))
致电x1
。因此,我做了以下,
x(1)
不幸的是我收到了以下错误
数组索引必须是正整数或逻辑值。
有没有办法解决这个错误?
答案 0 :(得分:1)
根据symsum
的文档,范围变量(i
在你的情况下应该是一个符号变量)。您尚未将i
定义为符号变量,因此它被视为imaginary unit(这是其默认的内置定义)。避免使用i
和j
作为变量总是明智的,因为它们是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