Clear Filters
Clear Filters

Change condition 'A=253' into 'A(A=253)=0' with multiple values (for example: A=70 and A=253)

4 views (last 30 days)
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;

Accepted Answer

John D'Errico
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;

More Answers (1)

Cris LaPierre
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 = 6×1
70 254 70 70 255 253
value_GS(value_GS==70 | value_GS==253) = 0
value_GS = 6×1
0 254 0 0 255 0

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!