MATLAB: Matlab While Loop problem

while loop

I want to do a while loop so given array A=[2, 4, 6;9, 10, 11; -1, -3 , 12). I want generate B whose elements are the natural logarithm of the values in A if the values are greater than 1. remaining elements of B can be obtained by adding 21 to each of the corresponding elements of A

Best Answer

A vectorized solution:
A=[2, 4, 6;9, 10, 11; -1, -3 , 12] % Define input data.
B = A + 21 % Initialize B
moreThan1 = A > 1 % Find elements greater than 1.
B(moreThan1) = log(A(moreThan1)) % Assign them to log(A).