我想在MatLab中編寫一個算法,該算法以下三角矩陣爲輸入。輸出應該是這個矩陣的倒數(它也應該是下三角形)。我幾乎設法解決這個問題,但我的算法的一部分仍然讓我撓頭。到目前爲止,我有:MatLab - 求矩陣求逆的算法
function AI = inverse(A)
n = length(A);
I = eye(n);
AI = zeros(n);
for k = 1:n
AI(k,k) = (I(k,k) - A(k,1:(k-1))*AI(1:(k-1),k))/A(k,k);
for i = k+1:n
AI(i,k) = (I(i,k) - (??????????????))/A(i,i);
end
end
我用問號標記了我不確定的部分。我試圖通過在紙上寫出程序來找到這部分代碼的模式,但我似乎無法找到解決這部分問題的正確方法。
如果有人能幫助我,我會非常感激!
爲什麼你不能只使用inv(A)? – 2012-09-02 20:23:59
@ diophantine:因爲我正在學習算法的細節:)。我上面發佈的問題是我的教科書中給出的練習。當然,我知道我可以使用inv(A),但是學習如何從頭開始構建算法是我正在使用的課程的目標。 – Kristian