Повторный шаг функции - PullRequest
       0

Повторный шаг функции

0 голосов
/ 16 февраля 2020

Я пытаюсь создать сигнал в Matlab, который будет пошаговой функцией, которая сначала отключается, затем включается, а затем выключается. Но мне нужно повторить этот сигнал для остальной части моего интервала и потребуется повторить эту пошаговую функцию тридцать или около того раз.

Вместо того, чтобы записывать тяжелый текст каждый раз, когда он включается и выключается. Я пытался поместить функцию hevistep внутрь для l oop, но безуспешно. Я не думаю, что функция heavyiestep предназначена для a для l oop, каковы некоторые лучшие методы создания этого сигнала.

y = 0
    for a = 1:2:10
        x = heaviside(t-a) - heaviside(t-(a+1));
        y = y + x
    end

1 Ответ

1 голос
/ 17 февраля 2020

Чтобы получить тяжелую функцию, вы можете сделать что-то вроде этого, где t - ваша независимая переменная, period - ваш период, duty - ваш рабочий цикл (доля цикла, которую вы хотите увеличить) и shift это сдвиг.

heavy =@(t, period, duty, shift) double( mod( t - shift , period ) < duty * period )

Тогда вы можете сделать что-то вроде

t = linspace(0,10,1E4);
plot(t , heavy( t , pi , 0.25 , pi/3 ) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...