how to solve many polynomial equations listed in a matrix?

8 ビュー (過去 30 日間)
Rikke
Rikke 2019 年 3 月 24 日
コメント済み: Rikke 2019 年 3 月 25 日
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)];

採用された回答

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

その他の回答 (1 件)

Matt J
Matt J 2019 年 3 月 24 日
編集済み: Matt J 2019 年 3 月 24 日
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);

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by