how to solve many polynomial equations listed in a matrix?

1 vue (au cours des 30 derniers jours)
Rikke
Rikke le 24 Mar 2019
Commenté : Rikke le 25 Mar 2019
I have a matrix where each row is a polynomial equation:
A=[0.01 620.085 -3750
0.01 620.082 -3750
0.01 620.079 -3750
0.01 620.076 -3750];
I want to solve every row of matrix A. How can i do that, I tried:
for i=1:length(A)
I(i)=roots(A(i,:))';
end
I want to get the answer as follows:
I= [I(1,1) I(1,2)
I(2,1) I(2,2)
I(3,1) I(3,2)
I(4,1) I(4,2)];

Réponse acceptée

madhan ravi
madhan ravi le 24 Mar 2019
Roots = arrayfun( @(x) roots( A( x, : ) ), 1 : 4, 'un', 0 );
[ Roots{ : } ].'

Plus de réponses (1)

Matt J
Matt J le 24 Mar 2019
Modifié(e) : Matt J le 24 Mar 2019
Here's a method withoutt loops,
[a,b,c]=deal(A(:,1),A(:,2),A(:3));
D=sqrt(b.^2-4.*a.*c);
I=[-b-D, -b+D]./(2.*a);

Catégories

En savoir plus sur Polynomials 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!

Translated by