Я пытаюсь построить дискретную последовательность линейного изменения , используя Matlab, в пределах интервала [-10, 10]
.
Это мой код:
function Ramp()
rampseq(-10, 10);
end
function rampseq (n1, n2)
n = (n1:1:n2);
stem (n, pw(n));
end
function y = pw(n)
if (n < 0)
y = 0;
return;
else
y = n;
return;
end
end
Я определяю поведение последовательности в функции pw(n)
(краткая форма для «кусочно»). Обратите внимание, что если n < 0
, то вывод должен быть 0
, а если n >= 0
, то вывод должен быть n
. Однако график получается следующим:
Это не последовательность линейного изменения, поскольку значения Y равны , а не 0
когда n < 0
, в отличие от поведения, определенного в функции pw(n)
. Куда я иду не так? Оператор if
по какой-то причине пропущен? Окно команд не показывает никаких ошибок.