Why is my own echelon function printing incorrect matrix
이전 댓글 표시
I am trying to create an echelon function, however, I am having trouble debugging my error. It works for almost all matrices but for the following matrix it gives an incorrect result:
A=[1 2 3 ; 1 2 4 ; 1 2 4]
echelon(A)
function x = echelon(A)
[m,n]= (size(A)); % m= rows , %n= columns
j=1;
i=1;
while( i <m )
for k=i+1:m
if (A(i,j)==0)
C = A(i,:); %Let C be the ith first row of the matrix
A(i,:)= A(i+1,:);%Exchange the row with the one below it
A(i+1,:) = C %Let C be the row that was above now (This code swaps rows)
end
if ~all(A(k,:)==0) %check to see if row of zeros or not
A(k,:)=A(k,:)-((A(k,j)/A(i,j))*A(i,:)) %zero out corresponding row
end
end
j=j+1;
i=i+1;
end
x=A
end
It gives the following incorrect result:
1 2 3
0 0 1
0 0 1
Also for the following matrix:
A=[1 2 3 ; 1 2 5]
gives the following incorrect result:
1 2 3
0 0 2
댓글 수: 2
James Tursa
2019년 9월 24일
Are you trying to produce any row echelon form, or the reduced row echelon form?
Natalie Murawski
2019년 9월 24일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Numerical Integration and Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!