I need to equalize two coeff matrix
Afficher commentaires plus anciens
Hi guys, I'm trying to find an answer to this algorithm. That works like the coefficients of s^3+k1*s^2+2*k1*k2*s+6*k1*k3 are equal to the coefficients of s^3+2*s^2+2*s. Then I need to find k1 k2 k3 automatically.
Output like this:
k1 = ...
k2 = ...
k3 = ...
I've tried to make this algorithm bu I could not equalize the coefficient matrices.
Sorry for my English.
2 commentaires
Walter Roberson
le 2 Déc 2019
You mean as in k1=2 k2=1 k3=0?. Do you have the symbolic toolbox?
Burak Bayca
le 2 Déc 2019
Réponses (1)
Walter Roberson
le 2 Déc 2019
syms s k1 k2 k3
eqn1 = s^3+k1*s^2+2*k1*k2*s+6*k1*k3;
eqn2 = s^3+2*s^2+2*s;
c1 = coeffs(eqn1, s, 'all');
c2 = coeffs(eqn2, s, 'all');
c1 = [zeros(1, length(c1)-length(c2)), c1];
c2 = [zeros(1, length(c2)-length(c1)), c2];
sol = solve(c1 == c2);
k1 = sol.k1; k2 = sol.k2; k3 = sol.k3;
The step involving zeros() is not needed if you are certain that the two equations have the same maximum degree (they do in the particular example you posted.)
1 commentaire
Burak Bayca
le 2 Déc 2019
Catégories
En savoir plus sur Common Operations 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!