Symbolic expression for exponential decay
3 ビュー (過去 30 日間)
古いコメントを表示
To calculate an exponential decay with a single constant τ, , why do you need to multiply the following by a heaviside function as below if you want a symbolic expression? Also, how would you do this for multiple constants, i.e., given a vector of the constants?
syms t real
tau = 0.1;
f(t) = exp(-t/tau)*heaviside(t);
0 件のコメント
採用された回答
Voss
2022 年 7 月 10 日
exp(-t/tau) is an exponential function of t, whose value is 1 at t = 0, whose value is less than 1 for t > 0, and whose value is greater than 1 for t < 0.
Here's a plot of exp(-t/tau) without the heaviside(t):
syms t real
tau = 0.1;
f(t) = exp(-t/tau);
fplot(f,[-1 1])
Notice the very large values f(t) has when t < 0.
Look at those same values on a log scale:
fplot(f,[-1 1])
set(gca(),'YScale','log')
Notice the function goes through 1 at t = 0.
In order to have the function start at t = 0 and discard the values for t < 0, you can use the heaviside() function, which has value 1 for t > 0 and value 0 for t < 0 (its value is 1/2 at t = 0):
fplot(heaviside(t),[-1 1],'LineWidth',2)
Multiplying exp(-t/tau) by heaviside(t) has the effect of zeroing-out the function for t < 0:
f(t) = exp(-t/tau)*heaviside(t);
fplot(f,[-1 1])
5 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Assumptions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!