How to define and plot a function with input range?

40 次查看(过去 30 天)
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!

采纳的回答

Alan Stevens
Alan Stevens 2021-10-24
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]);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Bar Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by