I have a third degree equation, with variable a matrix of 256*256. How can I solve it in MATLAB?

1 回表示 (過去 30 日間)
I have tried to solve it using fsolve; but it is solving only upto 64*64 matrix. The equation is ax^3+bx^2+cx+d=0; where a,b,c and d are constant matrix of 256*256 size. And x is variable of same size 256*256.
  2 件のコメント
KSSV
KSSV 2017 年 9 月 14 日
Then you can split your matrix into sub blocks of size 64*64 and solve it..:)
By the way what equation it is? You have to show us the code.
Anshika Goel
Anshika Goel 2017 年 9 月 14 日
編集済み: Anshika Goel 2017 年 9 月 15 日
ax^3+bx^2+cx+d=0; where a,b,c and d are constant matrix of 256*256 size. And x is variable of same size 256*256.
By splitting the matrix into sub blocks, the program is taking much time to execute.

サインインしてコメントする。

採用された回答

KSSV
KSSV 2017 年 9 月 15 日
Let A,B,C,D be your respective coefficients (Ax^3+Bx^2+Cx+D=0) of size 256*256..
R = zeros(n,n,3) ; % roots initialized
for i = 1:n
for j = 1:n
p = [A(i,j) B(i,j) C(i,j) D(i,j)] ;
r = roots(p) ;
R(i,j,:) = r ;
end
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePolynomials についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by