heaviside and sign function

15 views (last 30 days)
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

Accepted Answer

Thiago Henrique Gomes Lobato
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 Comments
Thiago Henrique Gomes Lobato
Edited: Thiago Henrique Gomes Lobato on 9 Feb 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 on 9 Feb 2020
Thank you very much !!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!