I'm trying to plot the signal u(t)-u(t-1) without heaviside in MATLAB. I've tried to use the if loop but couldn't figure it out.

1 件のコメント

Fangjun Jiang
Fangjun Jiang 2018 年 10 月 3 日
Not clear.

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

 採用された回答

Star Strider
Star Strider 2018 年 10 月 3 日

3 投票

You can use a ‘logical indexing’ approach:
ustp = @(t) +(t>0); % Simple Unit Step Function
t = linspace(-5, 5);
figure
plot(t, ustp(t)-ustp(t-1))
grid
I will let you figure out how it works.

3 件のコメント

Anurag Paul
Anurag Paul 2021 年 8 月 17 日
It works by using ‘logical indexing’, so that here, if ‘t’ is greater than 0, the logical comparison returns 1 for all values of ‘t’ greater than 0. When used in computations, the logical 1 becomes numerical 1, so the double function call is not necessary. - copied👆
Vicky
Vicky 2023 年 9 月 19 日
Can you explain how you wrote "@(t) +(t>0)"? It worked perfectly but I'm unsure what the @ is doing here. Thank you so much!
Star Strider
Star Strider 2023 年 9 月 19 日
@Vicky — That is an anonymous function. It works the same way other functions do, and can be called similarly. The ‘@’ creates its function handle.
See the documentation on Anonymous Functions and What is a Function Handle? for details.

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

その他の回答 (0 件)

カテゴリ

製品

リリース

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by