Borrar filtros
Borrar filtros

heaviside and sign function

15 visualizaciones (últimos 30 días)
Dimitrios Adam
Dimitrios Adam el 9 de Feb. de 2020
Comentada: Walter Roberson el 9 de Feb. de 2020
Hello,
i have for example this differential equation
ode = diff(y,x,2)+2*diff(y,x,1)+y==exp(-x)+heaviside(x-2)-dirac(x-2);
cond1 = y(0) == 0;
cond2 = Dy(0) == 0;
Τhe problem is when i solve it the result contains the fucntion sign instead of heaviside:
ySol(x) =
sign(x - 2)/2 + (x^2*exp(-x))/2 + exp(2 - x)*(sign(x - 2) + 1) - x*exp(2 - x)*(sign(x - 2)/2 + 1/2) + 1/2
Do you know how can i change the sign in the result and only have heaviside function?
Thank you

Respuesta aceptada

Thiago Henrique Gomes Lobato
Thiago Henrique Gomes Lobato el 9 de Feb. de 2020
The heavside function is not the same as the sign function, you can't simply change one for another. If you want to write the sign function in terms of a heavside function you can use the following relation:
Where is the heavside function.
  3 comentarios
Thiago Henrique Gomes Lobato
Thiago Henrique Gomes Lobato el 9 de Feb. de 2020
Editada: Thiago Henrique Gomes Lobato el 9 de Feb. de 2020
Yes
syms x
Y = sign(x - 2)/2 + (x^2*exp(-x))/2 + exp(2 - x)*(sign(x - 2) + 1) - x*exp(2 - x)*(sign(x - 2)/2 + 1/2) + 1/2;
Y2 = subs(Y,sign(x-2),2*heaviside(x-2)-1) % Use subs to replace what you want to
subs(Y,5)
subs(Y2,5)
Y2 =
heaviside(x - 2) + 2*heaviside(x - 2)*exp(2 - x) + (x^2*exp(-x))/2 - x*heaviside(x - 2)*exp(2 - x)
ans =
(25*exp(-5))/2 - 3*exp(-3) + 1
ans =
(25*exp(-5))/2 - 3*exp(-3) + 1
Dimitrios Adam
Dimitrios Adam el 9 de Feb. de 2020
Thank you very much !!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematical Functions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by