I have a matrix of an increasing array of numbers, and I want to round this to the steps given in another matrix.
if true T=54.3115; Az=(0:89)/T; %array of numbers which I want to be rounded A = [0:5:45 55 65 80]; %matrix giving the integer to which the number from Az must be rounded to for ii=1:length(A)-1, k=max(find(Az-(A(ii)+A(ii+1))/2)<0); Az(1:k)=A(ii); end; end
What is the error I'm doing here?
Do you want this:
T = 54.3115; Az = (0:89)/T; %array of numbers which I want to be rounded A = [0:5:45 55 65 80]; for k = 1:length(Az) Az(k) = A(find(A > Az(k), 1)); end
See discretize also and maybe the 2nd output of histcounts to do this more efficiently.