4つの配列の要素を成分に持つ行列の固有値を求めるスクリプトのベクトル化
Show older comments
A,B,C,Dの4つの配列があり,それぞれ10*10*10 doubleのサイズをもっています.
これらの配列の同じ位置にある値どうしで行列をつくり,
その固有値を求めようとしています.
得られた固有値は新たに10*10*10サイズの配列に格納します.
スクリプトで記すと次のようになります.
eig_l = zeros(10,10,10);
eig_s = zeros(10,10,10);
% eig_l > eig_s
for i=1:10
for j=1:10
for k=1:10
M = [A(i,j,k) B(i,j,k); C(i,j,k) D(i,j,k)];
eigM = sort(eig(E));
eig_l(i,j,k) = eigM(1);
eig_s(i,j,k) = eigM(2);
end
end
end
このスクリプトは3重のforループを使用しており非常に効率が悪いので,なんとかベクトル化できないかと考えております.
いい方法はありますでしょうか?
Accepted Answer
More Answers (0)
Categories
Find more on Resizing and Reshaping Matrices 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!