Чтобы получить тяжелую функцию, вы можете сделать что-то вроде этого, где 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 ) )