how to solve many polynomial equations listed in a matrix?

8 views (last 30 days)
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)];

Accepted Answer

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

More Answers (1)

Matt J
Matt J on 24 Mar 2019
Edited: Matt J on 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);

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!