How to swap cells in matrix with code

I have to change the value of every cell in a matrix which is >5. However I am not sure how. I have to include the 'find' function. I have to change every value greater than 5 to 0, I am not sure how.
D=[8 1 6;3 5 7;4 9 2];
[d1,d2]=find(D>5);
d=[d1,d2];
disp(d)
Doing this gives me
>> PBTask4p3
1 1
3 2
1 3
2 3

5 Comments

"include the 'find' function". Is this a homework problem? What is the expected output?
D=[0 1 0;3 5 0;4 0 2]
So basically every number greater than 5 becomes 0. yes this is a homework problem
You should look at logical indexing. For your problem you can use find, however it's not necessary.
I will look at it, but I do kind of need find for the task.
Read about logical indexing.
A = rand(5) ;
idx = A>0.5 ; % logical indexing
A(idx) = 0 ;

Sign in to comment.

 Accepted Answer

Check this
D = [8 1 6;3 5 7;4 9 2];
idx = find(D > 5);
D(idx) = 0;
Result
>> D
D =
0 1 0
3 5 0
4 0 2

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!