Help! About use symsum on matrix

Hello, i am a freshman on matlab
it's a problem about summation of matrix
m=2;
p=[2,3;3,5]; %matrix 2*2
yu=[34;44]; %column vector 2*1
syms t;
rt=symsum((p^t)*yu,t,0,m);
what i want should be the followings:
>> (p^0)*yu+ (p^1)*yu+ (p^2)*yu
ans =
1600
2576
however, i get this
>> rt
rt =
matrix([[102, 102], [102, 204]])
matrix([[132, 132], [132, 264]])
I don't know why
Please help me
Thanks a lot!

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 7 Mai 2011

0 votes

variant without symbolic toolbox
a = arrayfun(@(x)p^x*yu,0:2,'un',0);
rt = sum([a{:}],2)

2 commentaires

zhang
zhang le 7 Mai 2011
thank u
urs are right
however, i still want to know how to use symsum to fix it and what is the meaning of "variant without symbolic toolbox" ?
sorry
i do a freshman on matlab
Andrei Bobrov
Andrei Bobrov le 7 Mai 2011
symsum function from Symbolic Math Toolbox (doc symsum)
Your task to solves symsum Maple Toolbox for MATLAB, for its installation, you must have Maple

Connectez-vous pour commenter.

Plus de réponses (1)

Paulo Silva
Paulo Silva le 7 Mai 2011

0 votes

Your are missing a dot before the exponent
rt=symsum((p.^t)*yu,t,0,m);

5 commentaires

zhang
zhang le 7 Mai 2011
according to ur answer, i got this
>> rt
rt =
278
400
yes, it's has no matrix things, but the answer is not right
it should be like this
>> (p^0)*yu+ (p^1)*yu+ (p^2)*yu
ans =
1600
2576
Paulo Silva
Paulo Silva le 7 Mai 2011
I can't find the problem, if you do
syms t p yu
rt=symsum((p.^t)*yu,t,0,m)
you get the same expressions (p^0)*yu+(p^1)*yu+(p^2)*yu
but with p and yu replaced by the array it's not the same, sorry
Paulo Silva
Paulo Silva le 7 Mai 2011
also if you choose m=0 it should give yu but it gives [78;78] , 78 is the sum of yu values
zhang
zhang le 7 Mai 2011
maybe i did not express it clear
your suggestion of adding dot before exponent which is another different multiplication operator of matrix
for example
>> A=[1,2;2,3]
A =
1 2
2 3
>> B=A.^2
B =
1 4
4 9
>> C=A^2
C =
5 8
8 13
you see, they are two different operator
zhang
zhang le 8 Mai 2011
Operation Operator Syntax M-Function Equivalent
Matrix power A^B mpower(A,B)
Arraywise power A.^B power(A,B)
you can search word "mpower" in the help
and "Arithmetic Operators + - * / \ ^ '" explain well
thank ur answer

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by