Where is the logic failure in my code ?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
farzad
am 27 Dez. 2019
Beantwortet: Image Analyst
am 9 Jan. 2020
Hi All
I have a matrix n x 1 called X , in which I want to move it up or down along vertical axis when I plot it vs time , in a way to make the mean value = 0 if it's not so I created a true false parameter as :
useMean
than can be
True
or
False
and then in the code I do :
if useMean == 'True'
if meanX <0
X= X+abs(meanX);
else
X= X-abs(meanX);
end
elseif useMean == 'False'
X=X;
end
but I noticed the code only can perform when useMean == 'True' , not the 'False' !
this way my rest of the parameters can not be calculated
4 Kommentare
Walter Roberson
am 27 Dez. 2019
Bearbeitet: Walter Roberson
am 27 Dez. 2019
Your code can be shortened to
if useMean
X = X - meanX;
end
with no abs() needed.
Akzeptierte Antwort
Image Analyst
am 9 Jan. 2020
Use true or false, not 'True' or 'False'. No quotes or capitalization required.
Or don't even use them at all. Your code could be:
if useMean
if meanX <0
X= X+abs(meanX);
else
X= X-abs(meanX);
end
else
X=X; % Even this is not needed.
end
but best would be to use Walter's code in the last comment above.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!