Change condition 'A=253' into 'A(A=253)=0' with multiple values (for example: A=70 and A=253)
2 views (last 30 days)
Show older comments
Alberto Acri
on 19 Jul 2023
Answered: Cris LaPierre
on 19 Jul 2023
Hi. I have this code:
value_GS = importdata("value_GS.mat");
value_GS(value_GS=253) = 0;
I want to change the last line of the code so that it can select the numbers 70 and 253.
For example:
value_GS(value_GS=70 && value_GS=253) = 0;
0 Comments
Accepted Answer
John D'Errico
on 19 Jul 2023
Edited: John D'Errico
on 19 Jul 2023
You CAN use an and operator in there. That is fine if you have 2 or maybe even 3 cases. But one day when you have 27 possibilities to test for, you DON"T WANT TO TEST THEM ALL INDIVIDUALLY.
Instead, learn to use ismember. It tests to see which elements lie in a given set.
value_GS(ismember(value_GS,[70, 253])) = 0;
0 Comments
More Answers (1)
Cris LaPierre
on 19 Jul 2023
Use the or condition instead of the and. Also, use == to check for equality.
The pseudocode would be "If the value of value_GS is 70 or 253, change the value to 0".
load value_GS
value_GS
value_GS(value_GS==70 | value_GS==253) = 0
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!