Symbolic expression for exponential decay
9 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Voss
on 10 Jul 2022
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 Comments
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!