※ 引述《hiy (嘻哈魚丸)》之銘言:
: 這學期上到數值分析
: 所以老師要我們用matlab寫作業
: 我遇到問題了
: 來這裡請教各位
: 如何用matlab寫出Gauss-Jordan法阿
: 還有一個方法叫Gaussian elimination
: 請告訴我一下
: 因為我毫無頭緒阿
: 多謝~~~
高斯喬丹法
clear
A=magic(7);
[maxi,maxj]=size(A);
Mi=eye(size(A));
MB=[A,Mi];
for j=1:maxj
Vtemp=MB(:,j);
[m,n]=max(abs(Vtemp));
zm=Vtemp(n);
Vtemp(n)=-Vtemp(n)/zm;
ZZZ=-Vtemp*(MB(n,:)/zm);
MB(n,:)=0;
MB=MB+ZZZ;
end
[temp,tempI]=max(MB(:,1:maxj));
MB=MB(tempI,:);
Result=MB(:,(maxj+1):(2*maxj));
ans=A*Result
min(abs(ans))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.247.197
※ 編輯: multidecoy 來自: 140.112.247.197 (11/14 02:08)