Why won't CheckStatus(1, 1) return 0?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
function onTime = CheckStatus(noTraffic, gasEmpty)
% Assign onTime with true if noTraffic is true and gasEmpty is false
onTime = noTraffic(true), gasEmpty(false);
end
3 commentaires
Jan
le 6 Oct 2017
Modifié(e) : Jan
le 6 Oct 2017
You can either set a breakpoint in the editor, or type "dbstop CheckStatus" in the command window, not inside the code. Please read the documentation instead of guessing: https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html
Réponses (1)
Guillaume
le 6 Oct 2017
Modifié(e) : Guillaume
le 6 Oct 2017
Before reading the documentation of dbstop, I'd say read the getting started tutorial of matlab or any introductory book.
I have no idea where the syntax for the line
onTime = noTraffic(true), gasEmpty(false);
came from. Certainly not from any matlab introductory course. The above does not check "if noTraffic is true", it does not check if "gasEmpty is false", and it certainly does not "and" any condition.
The above assigns the first element (since true is the same as 1) of noTraffic to onTime. The comma is equivalent to a line return, it just starts a new statement. That new statement accesses the 0th element of gasEmpty (since false is the same as 0). This will always error since matrix indexing starts at 1 in matlab. Even if did not error, nothing more would be done with that element, it would not be assigned to anything.
Testing if something is true of false is done using comparison operators. The result of such comparisons can then be linked using logical operators.
0 commentaires
Voir également
Catégories
En savoir plus sur Satellite Mission Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!