我正在电气工程课上编写一个函数,作为我们要构建示波器的实验室的一部分。这个特殊功能就是我们的软件“触发电路”。这个函数只要满足一定的条件就应该注册为1。确切的措辞是:
“编写一个名为 triggering_circuit 的 MATLAB 函数,其输入参数为:past_sample、current_sample、trigger_level 和 trigger_slope。如果 trigger_level 介于 past_sample 和 current_sample 之间以及当前样本和过去样本之间的差值 (即,current_sample - past_sample) 与 trigger_slope 具有相同的符号。”
我们感觉好像我们已经正确地编写了函数,但是当我们尝试在我们的函数中调用它时,我们得到了错误:
“如果 trigger_level >= past_sample && trigger_level <= current_sample,则 triggering_circuit(第 4 行)出错”
它没有给出任何其他错误,除了该函数没有为输出变量 m 分配任何东西。我想,那是因为该功能无法完成运行。
现在,我在网上看了看,我不明白我们怎么会错误地使用逻辑运算符。我真的很感激任何帮助。
功能如下:
function [ m ] = triggering_circuit( past_sample, current_sample, trigger_level, trigger_slope )
if trigger_level >= past_sample && trigger_level <= current_sample
a = current_sample - past_sample;
if a < 0 && trigger_slope < 0
m = 1;
elseif a > 0 && trigger_slope > 0
m = 1;
else
m = 0;
end
end
end