Why is my own echelon function printing incorrect matrix

M
Murawski · Mar 17, 2023 · 1.9K views
Question
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 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
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Nov 20, 2025

I haven't checked all of your code, but I assume this:

 

if ~all(A(k,:))==0 %check to see if row of zeros or not

was meant to be this instead:

if ~all(A(k,:)==0) %check to see if row of zeros or not

Also, you divide by A(i,j) before checking to see if it is 0.

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!