MATLAB Answers

Rikke
0

how to solve many polynomial equations listed in a matrix?

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)];

  0 件のコメント

サインイン to comment.

2 件の回答

madhan ravi
回答者: madhan ravi
2019 年 3 月 24 日
 採用された回答

Roots = arrayfun( @(x) roots( A( x, : ) ), 1 : 4, 'un', 0 );
[ Roots{ : } ].'

  1 件のコメント

Rikke
2019 年 3 月 24 日
Thank you, it worked!

サインイン to comment.


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);

  1 件のコメント

Rikke
2019 年 3 月 25 日
Thanks!

サインイン to comment.



Translated by