Z is a 1024X1024 matrix containing negative value in some pixels.
For each pixel in Z, I need to find the column from an array 0,5,10,15,20,25,30,35,40; Because of out of bound values existing in Z matrix, I get this error 'Subscript indices must either be real positive integers or logicals.' How do I set all the negative values in matrix Z to '0' or is there a way to get around this problem? Below is the code.
m=1024;n=1024;Th = (0,5,10,15,20,25,30,35,40);i=1:length(Th)ratioAB(:,:,i)=A./B % A and B are matrices for each Th
RF=ones(m,n);for i=1:m for j=1:n Z2=Z(i,round(j));col = find(Th > Z2,1,'first')-[1 0]RF(i,j)= diff(cat(3,ratioAB(i,j,col)),[],3)/diff(Th(col))*(Z2 Th(col(1)))+ratioAB(i,j,col(1)); endend
Best Answer