# MATLAB: How to find a unexpected high value and turn it to zero

matrices

Hello
I have a matrix with 4 columns. I want to code it in a way that column 4th to be checked by matlab and unwanted high value (in this example: 80) to be descovered and changes to zero. At the end, this matrix to be saved as csv file. (Since data are experimental, there is no rule to find this kind of error values in 4th column. I can say, it is at least 3 times bigger than avareage value of the column)
My current code works, but want to know if there is a better way to handel this? Maybe my loop is incorrect. I will be grateful if someone can help in this.
``A = [2 3 4 2;5 6 7 3;8 9 0 6; 5 6 1 80;2 3 8 5;3 5 13 4]as = length (A(:,4))M = mean (A(:,4))for i = 1:as    Max = max (A(:,4))    if Max > 3*M        A(A==Max)=0    else endendfname = sprintf('new.csv');csvwrite (fname,A);              % Write to CSV file``

``A = [2 3 4 2;5 6 7 3;8 9 0 6; 5 6 1 80;2 3 8 5;3 5 13 4]idx = A(:,4) > mean(A(:,4))*3; % determine indices of outliersA(idx,4) = 0; % set outliers equal to zerofname = sprintf('new.csv');csvwrite (fname,A);              % Write to CSV file``
``A(isoutlier(A(:,4)), 4) = 0;``