0
我想使用高斯向前和向後消除,因此最終我不需要做背部置換,因爲除了我的對角線外,我的矩陣中都有零。走錯了,每次我嘗試我的代碼,我沒有得到在角落裏的所有零,但如果我嘗試我的代碼seperately唯一的前鋒消除作品,唯一的淘汰落後太多.....高斯向前和向後消除
clc, close all, clear *
%Input Matrix
A = input('Enter a matrix: ');
b = input('Enter the result vector: ');
% for example this two:
% A= [1 2 3; 2 1 1; 6 -7 5];
% b= [3; 2; 5];
Ab= [A, b];
%%%%%%%%%% gauss elimination forward & backward elimination%%%%%%%%%%%%%%%
%Forward elimination
% A(1,1) is pivot
factor = A(2,1)/A(1,1);
Ab(2,:) = Ab(2,:) - factor*Ab(1,:);
factor = A(3,1)/A(1,1);
Ab(3,:) = Ab(3,:) - factor*Ab(1,:);
% A(2,2) is pivot
factor = Ab(3,2)/Ab(2,2);
Ab(3,:) = Ab(3,:) - factor*Ab(2,:);
%Backward elimination
% A(3,3) is pivot
factor = A(2,3)/A(3,3);
Ab(2,:) = Ab(2,:) - factor*Ab(3,:);
factor = A(1,3)/A(3,3);
Ab(1,:) = Ab(1,:) - factor*Ab(3,:);
% A(2,2) is pivot
factor = Ab(1,2)/Ab(2,2);
Ab(1,:) = Ab(1,:) - factor*Ab(2,:);
非常感謝你:) – ECasio
是的!將來,解決這種短代碼問題的一種好方法就是試着逐行瀏覽它,並查看輸出與您認爲應該發生的不同之處。在這種情況下,你會注意到你的第四個因素意外等於-5。 [我怎麼麻煩它] –