How to generate a vector of a shifted impulse function?

15 ビュー (過去 30 日間)
FW
FW 2020 年 7 月 27 日
コメント済み: Star Strider 2020 年 7 月 27 日
Hello, Suppose we have a time vector x=0:0.1: 50. I would like to have a delta function at a non-zero position, say at 25 with unit height (or any other scaled version of it).
MATLAB has a function d = dirac(x)
It generates dirac at x=0. If we write, d=dirac(x-25), it does not shift the impulse function like the H=heaviside(t-25) translates the heaviside function at 25.
I tried differentiating the translated heaviside function but I get 0.5 0.5 at the desired location instead of 1 at 25, no matter what the sampling frequency is.
Is there are a better way to do
(a) Generate a vector unit delta at a non-zero position
(b) Differentiate translated Heaviside and get a shifted delta at the desired position.
Thanks.

採用された回答

Star Strider
Star Strider 2020 年 7 月 27 日
If we write, d=dirac(x-25), it does not shift the impulse function like the H=heaviside(t-25) translates the heaviside function at 25.
It does, actually.
Consider:
x = 0:0.1:50;
d = dirac(x - 25);
nzdidx = find(d>0) % Index
dnzd = d(nzdidx) % Value
producing:
nzdidx =
251
dnzd =
Inf
So it will not appear on the plot, since it has infinite amplitude and 0 width, integrating to an area of 1.
.
  6 件のコメント
FW
FW 2020 年 7 月 27 日
Strider, I was trying to demonstrate the effect of convolution of a Lorentzian with a shifted delta to a person. I was stumped as to how one can generate a displaced delta vector in MATLAB. Thanks for your assistance. I have MATLAB 2019b. I can download 2020 but I don't think it is worth changing.
Star Strider
Star Strider 2020 年 7 月 27 日
As always, my pleasure!
As for upgrading to R2020a, see the Release Notes to see if it would be of any benefit to you. (Note that Update 4 is current.)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFloating-Point to Fixed-Point Conversion についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by