How to solve a 2nd degree equation of matrix ?
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
Pretty new with matlab, I'd like to know how to solve a second-degree equation of matrix : P*B0-P²*C=B1 All of the variables are 7*7 matrix, and I'm looking for P.
I used
temp=solve('P*B0-(P^2)*C=B1')
subs(temp)
I get a result, but it's mainly with NaN and Inf. As it shouldn't be the case, I guess my method isn't the right one, but I've no clue how to do it, and google doesn't really help.
So I'm counting on you !
Thanks !
0 commentaires
Réponses (3)
Stephan M. H.
le 26 Mai 2013
Hi,
Unfortunately you didn't specify what you have and how you defined it but...
the function solve needs symbolic arguments, i.e., you need to create all matrices with the commands sym or syms
The values of B and C matrices should be given to you. The unkown P you could define by (e.g., 2x2 matrix)
syms p1 p2 p3 p4
P_s = sym([p1 p2; p3 p4])
B0_s = sym(B0)
...
Then use
RES = solve(P*B0-P^2*C==B1) % (without '...')
The command subs is only needed if you don't have values for the B and C matrices.
Hope this helps,
Stephan
0 commentaires
Tahn
le 26 Mai 2013
1 commentaire
Stephan M. H.
le 27 Mai 2013
I can't help with the first warning, and for the second problem I can only guess what you are writing there in French, but you might want to try
RES.p1
if you used
syms p1 ....
to define everything, p1 etc. still contain only symbolic values. the results is stored in the structure RES
best, Stephan
Voir également
Catégories
En savoir plus sur Conversion Between Symbolic and Numeric dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!