Why won't CheckStatus(1, 1) return 0?

3 次查看(过去 30 天)
Blair Hall
Blair Hall 2017-10-6
编辑: Guillaume 2017-10-6
function onTime = CheckStatus(noTraffic, gasEmpty)
% Assign onTime with true if noTraffic is true and gasEmpty is false
onTime = noTraffic(true), gasEmpty(false);
end
  3 个评论
Blair Hall
Blair Hall 2017-10-6
so do this function onTime = CheckStatus(noTraffic, gasEmpty)
% Assign onTime with true if noTraffic is true and gasEmpty is false
onTime = noTraffic(true);
dbstop CheckStatus
gasEmpty(false);
end
Jan
Jan 2017-10-6
编辑:Jan 2017-10-6
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

请先登录,再进行评论。

回答(1 个)

Guillaume
Guillaume 2017-10-6
编辑:Guillaume 2017-10-6
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.

类别

Help CenterFile Exchange 中查找有关 Satellite Mission Analysis 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by