Я пишу функцию в классе электротехники как часть лаборатории, где мы должны построить осциллограф. Эта особая функция - это программная «триггерная схема». Эта функция должна быть зарегистрирована как 1, если она соответствует определенным условиям. Точная формулировка:ошибка логического оператора matlab
«Напишите функцию MATLAB под названием triggering_circuit, который имеет входные параметры:. Past_sample, current_sample, trigger_level и trigger_slope функция должна возвращать значение 1, если trigger_level между past_sample и current_sample и разница между текущим образцом и прошлым образцом (то есть current_sample - past_sample) имеет тот же знак, что и trigger_slope. "
Мы чувствуем, как если бы мы написали функцию правильно, но когда мы пытаемся назвать его в нашей функции, мы получаем ошибку:
«Ошибка в triggering_circuit (строка 4) если trigger_level> = past_sample & & trigger_level < = current_sample»
Это не дает какие-либо другие ошибки, за исключением того, что функция ничего выходного переменного т не назначая. Полагаю, это потому, что функция не закончит работу.
Теперь я смотрел онлайн, и я не понимаю, как мы можем ошибаться в логическом операторе. Я бы очень признателен за любую помощь.
Функция выглядит следующим образом:
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
Verify ваши материалы будут, как и ожидалось, и я думаю, вы должны установить 'т = 0 ', если не ввести основной' if'-заявление. Вы также считаете, что 'current_sample' больше, чем' past_sample'. – David
Итак, я добавил m = 0, но это все еще не устраняет проблему. По-видимому, мои past_sample и current_sample были векторами, которые я изначально не понял. В этот момент я меняю && на & & right? Есть ли что-нибудь еще, что мне нужно изменить? – Auxilio
Как вектор может быть больше, чем другой вектор? Описание не имеет смысла для входных векторов. Пожалуйста, укажите пример ввода и опишите ожидаемый результат. – Daniel