Trying to plot function

2 ビュー (過去 30 日間)
Naor t
Naor t 2021 年 4 月 1 日
コメント済み: Naor t 2021 年 4 月 1 日
Hey, so ihave been asked to plot this function
I found a way to do this
syms x
y=piecewise(x<-4, 0, -4<=x<3, x+2, x>=3, x-2);
fplot(y)
and i get this graph
Now, when i try another way to do this
i get this graph
this is the code
t = linspace(1,1000,1000); %%time
X1=@(t) (t<=-4).*0+(t>=-4 & t<3).*(t+2)+(t>=3).*(t-2);
subplot(2,2,1)
plot (t,X1(t))
axis([-6 6 -20 20]);
Im trying to understand why this way (the second graph) doesnt work.
Thnx.
  4 件のコメント
Michael Van de Graaff
Michael Van de Graaff 2021 年 4 月 1 日
also, i'm confused, can you tell me which point on you plot is incorrect?
are you aware that you are plotting only integer X values and the line is just connecting the dot's
Michael Van de Graaff
Michael Van de Graaff 2021 年 4 月 1 日
Oh, you need
t = linspace(-6,6,1000);

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2021 年 4 月 1 日
You were mislead by two factors:
  1. You were not using the same plotting range for both of them
  2. You were sampling at a low number of points the conditionals but not for piecewise
t = -6:6; %%time
X1=@(t) (t<=-4).*0+(t>=-4 & t<3).*(t+2)+(t>=3).*(t-2);
subplot(2,2,1)
plot(t,X1(t))
axis([-6 6 -20 20]);
title('discrete using conditionals')
subplot(2,2,2)
fplot(X1, [-6 6]);
axis([-6 6 -20 20]);
title('continuous using conditionals')
syms x
y(x) = piecewise(x<-4, 0, -4<=x<3, x+2, x>=3, x-2);
subplot(2,2,3)
plot(t, y(t))
axis([-6 6 -20 20])
title('discrete using piecewise')
subplot(2,2,4)
fplot(y, [-6 6])
axis([-6 6 -20 20])
title('continuous using piecewise')
  3 件のコメント
madhan ravi
madhan ravi 2021 年 4 月 1 日
Naor t
Naor t 2021 年 4 月 1 日
thanks you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by