Where is the logic failure in my code ?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
farzad
el 27 de Dic. de 2019
Respondida: Image Analyst
el 9 de En. de 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 comentarios
Walter Roberson
el 27 de Dic. de 2019
Editada: Walter Roberson
el 27 de Dic. de 2019
Your code can be shortened to
if useMean
X = X - meanX;
end
with no abs() needed.
Respuesta aceptada
Image Analyst
el 9 de En. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!