Problem in using symsum

3 views (last 30 days)
Ipshita
Ipshita on 28 Nov 2020
Commented: Setsuna Yuuki. on 28 Nov 2020
I am writing a code to solve a problem by least square method. Can someone tell what is wrong in this code?
syms x k
x(1)=-2;
x(2)=-1;
x(3)=0;
x(4)=1;
x(5)=2;
f(1)=-2;
f(2)=-1;
f(3)=0;
f(4)=1;
f(5)=2;
for i=0:4
a(i)=symsum((x(k))^i,k,1,5)
end
Error using sym/subsindex (line 857)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and function body must be sym expression.
Error in sym/subsref (line 902)
R_tilde = builtin('subsref',L_tilde,Idx);
Error in NMa2q2 (line 13)
a(i)=symsum((x(k))^i,k,1,5)

Answers (1)

Setsuna Yuuki.
Setsuna Yuuki. on 28 Nov 2020
Edited: Setsuna Yuuki. on 28 Nov 2020
syms x k
x(1)=-2;
x(2)=-1;
x(3)=0;
x(4)=1;
x(5)=2;
f(1)=-2;
f(2)=-1;
f(3)=0;
f(4)=1;
f(5)=2;
for i=0:4
a{i+1}=symsum((x*(k)).^i,k,1,5) %change this line
end
if you need double variables and not syms, use:
a{i+1}=double(symsum((x*(k)).^i,k,1,5))
  4 Comments
Ipshita
Ipshita on 28 Nov 2020
yes, it should return 5 values, i.e. a(1), a(2), a(3), a(4), a(5). But it is not returning, that is the problem.
Setsuna Yuuki.
Setsuna Yuuki. on 28 Nov 2020
did you try using double ()?
a{i+1}=double(symsum((x*(k)).^i,k,1,5))
with double() this is the output
maybe i don't understand good your problem, sorry

Sign in to comment.

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!