我试图使用MATLAB中的symsum函数对以下内容求和:
总和(从q = 0到5)[a(q + 1)* x(2)^ q]
其中a = [a0,a1,...,a5],x = [x(1),x(2),...]其中x(1),x(2),...是标量。
总和是a0 + a1x(2)+ a2x(2)^ 2 + ... + a5x(2)^ 5.
我使用了以下代码:
syms q a x
f=a(q+1)*x(2)^q
symsum(f, q, 0, 5)
其中x(2)= -4.9。
但是,上面的代码返回"无效的索引或函数定义"。
使用f = x(2)^ q不会导致错误,但是,使用f = a(q + 1)确实会返回错误。因此问题在于a(q + 1)项。
非常感谢任何帮助!
答案 0 :(得分:0)
无关紧要a
是符号或非符号的矩阵。
每次调用矩阵都需要一个索引(一个数字,实数如1,2,3,4,......)
如果q
是符号,则表示q实际上不等于任何数字,因此a(q)
没有意义,因为q
与任何数字都不相等。所以程序会在出错之前产生错误并停止。
>>a=0:5;
>> a(1)
ans =
0
>>a(q) % ?-->do you know the real value of `q` right now? NO,nobody knows!
MAKES ERROR