Create a long rectangular signal with a function handle

1 visualización (últimos 30 días)
AEW
AEW el 20 de Abr. de 2022
Editada: AEW el 20 de Abr. de 2022
I was wondering if there is a quick way to create a rectangular signal during 20 sec for example, with a function handle. I tried the following command which requires you to do it for every step.
Thanks.
u=@(t) double((0<=t & t<0.5) + ...
(1<=t & t<1.5) + ...
(2<=t & t<2.5)) .* 1;

Respuesta aceptada

Bruno Luong
Bruno Luong el 20 de Abr. de 2022
Editada: Bruno Luong el 20 de Abr. de 2022
myfun = @(t) mod(t,1)<=0.5;
ezplot(myfun, 0, 20)
  4 comentarios
Bruno Luong
Bruno Luong el 20 de Abr. de 2022
fun=@(x) ppval(mkpp(0:0.25:1,[1; 0; -1; 0]),mod(x,1))
fun = function_handle with value:
@(x)ppval(mkpp(0:0.25:1,[1;0;-1;0]),mod(x,1))
ezplot(fun,0,3)
AEW
AEW el 20 de Abr. de 2022
Thanks a lot!

Iniciar sesión para comentar.

Más respuestas (1)

Sam Chak
Sam Chak el 20 de Abr. de 2022
Second opinion!
fcn = @(t) (sign(sin(2*pi*t)) + 1)/2;
ezplot(fcn, 0, 5)

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by