How to define and plot a function with input range?

45 visualizaciones (últimos 30 días)
Karl Bridggie
Karl Bridggie el 24 de Oct. de 2021
Comentada: Karl Bridggie el 24 de Oct. de 2021
Hi,
I have a function:
I need to plot it: y(t) = 2f(t-1) + 4f(t-2) + 3(ft-3) + f(t-4)
I could imagine what y(t) looks like but couldn't make the MATLAB code working after a lot of tries. I have:
pt = @(t) (1 ./ (1 + t .^ 2));
But I don't know how to specify the range of t (0.5 >= t >= -0.5).
I also tried piecewise():
pt = @(t) piecewise(0.5 >= t >= -0.5, (1 + t .^ 2) .^ (-1), t > 0.5, 0, t < 0.5, 0);
x = 0:0.01:10;
plot(x, pt(x));
xlim([-1 10]);
But it reported error: Undefined function 'piecewise' for input arguments of type 'double'.
Could you please help me with this? Thanks a lot!

Respuesta aceptada

Alan Stevens
Alan Stevens el 24 de Oct. de 2021
Like so:
pt = @(t) (1 ./ (1 + t .^ 2)).*(t>=-0.5).*(t<=0.5);
x = 0:0.01:10;
y = 2*pt(x-1) + 4*pt(x-2) + 3*pt(x-3) + pt(x-4);
plot(x, y);
xlim([-1 10]);
  1 comentario
Karl Bridggie
Karl Bridggie el 24 de Oct. de 2021
pt = @(t) (1 ./ (1 + t .^ 2)).*(t>=-0.5).*(t<=0.5); does the trick!
Thanks very much!!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Bar Plots en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by