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

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by