Symbolic expression for exponential decay

10 visualizaciones (últimos 30 días)
L'O.G.
L'O.G. el 10 de Jul. de 2022
Comentada: Voss el 11 de Jul. de 2022
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);
I am referring to the answer here.

Respuesta aceptada

Voss
Voss el 10 de Jul. de 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 comentarios
L'O.G.
L'O.G. el 11 de Jul. de 2022
@Paul @Voss Thank you both very much.
Voss
Voss el 11 de Jul. de 2022
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by