[問題] 高斯消去法的問題已回收
最近寫作業求逆矩陣用高斯消去法
個人有寫出來一點,可是卻有一個蠻嚴重的BUG
知道問題出在哪,可是想了很久不知道如何去解決
想問說有沒有方法可以DE這個BUG,還有不能用函數inv或是rref
個人有參考過rref的M檔,不過看不懂原理XD
clear,clc; %清除變數
k=randperm(9)+1; %產生亂數維度K(K範圍從2~10)
k=k(1); %取出k的第一個位置的值
A=round(10*rand(k,k))+1; %隨機產生一個k*k的矩陣(元素1~11)
if det(A) == 0 %如果det=0,她就沒有反矩陣
fprintf('singular') %秀出singular
else
A=[A eye(k)]; %把單位矩陣跟A結合
for i=0:k-2 %雙重迴圈i處理列,j處理行
for j=2:k
A(i+j,:)=A(i+1,:)*-A(j+i*(k+1))/A(1+i*(k+1))+A(i+j,:)
%假設k=3,那麼一開始i=0 j=2
%A(2,:)=A(1,:)*-A(2)/A(1)+A(2,:)
%接下來i=0 j=3
%A(3,:)=A(1,:)*-A(3)/A(1)+A(3,:)
%但是當i=1 j=3的時候
%A(4,:)=A(2,:)*-A(7)/A(5)+A(4,:) =>超出矩陣
end
end
for i=0:k-1
A(i+1,:)=A(i+1,:)/A(1+i*(k+1))
%把對角線都化成1
%A(1,:)=A(1,:)/A(1);
%A(2,:)=A(2,:)/A(2+k);
end
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.121.50
推
04/06 05:15, , 1F
04/06 05:15, 1F
一說發現EVAL是多餘的,改一下
→
04/06 11:16, , 2F
04/06 11:16, 2F
matrix
→
04/06 13:04, , 3F
04/06 13:04, 3F
→
04/06 13:05, , 4F
04/06 13:05, 4F
有點聽不懂XD
※ 編輯: iammoron 來自: 123.110.116.140 (04/06 13:58)
→
04/06 14:50, , 5F
04/06 14:50, 5F
→
04/06 14:50, , 6F
04/06 14:50, 6F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章