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 commentaires

Ameer Hamza
Ameer Hamza le 21 Sep 2020
"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
Mohammad Sami
Mohammad Sami le 21 Sep 2020
You should look at logical indexing. For your problem you can use find, however it's not necessary.
Allen Antony
Allen Antony le 21 Sep 2020
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 ;

Connectez-vous pour commenter.

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 21 Sep 2020
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

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by