Filter löschen
Filter löschen

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

4 Ansichten (letzte 30 Tage)
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;

Akzeptierte Antwort

John D'Errico
John D'Errico am 19 Jul. 2023
Bearbeitet: John D'Errico am 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;

Weitere Antworten (1)

Cris LaPierre
Cris LaPierre am 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

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by