MATLAB: Boundary replacement of values in arrays

arrayboundaryconditionMATLABreplacement

Hello. Suppose we have three arrays (columns of m x 1 size). Arrays A,B,C. How to set up the replacement script of such a condition? – if a(i)+b(i)>c(i), replace b(i) so that a(i)+b(i)=c(i), if a(i)+b(i)<=c(i), then okey
Thank you!

Best Answer

There is no need to loop. Use logical indexing:
a=randi(5,10,1);
b=randi(5,10,1);
c=randi(5,10,1);
[a,b,c]
i = (a+b>c);
b(i) = c(i)-a(i);
[a,b,c]
Related Question