I have a matrix and I would like to make all values which are equal x, equal to y. But I would like to do that only in odd columns. Can I do it without using a loop?
Say I have the following matrix:
>> A=randi([1,5],4,4)A = 5 4 5 5 5 1 5 3 1 2 1 5 5 3 5 1
And I would like to turn all 1's which are in the odd columns into 0's to get the following matrix:
5 4 5 5 5 1 5 3 0 2 0 5 5 3 5 1
I tried to do the job with this code:
A(A(:,1:2:end)==1)=0A = 5 4 5 5 5 1 5 3 0 0 1 5 5 3 5 1
It gets the position of the 1's in the odd columns right, but it changes the values in consecutive columns instead.
I guess an equivalent question would be how to generate a logical matrix of the same dimensions of A with all values equal to 0 except these which are equal to 1 AND in odd columns.
Any ideas?
Thanks
Best Answer