heaviside and sign function
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dimitrios Adam
am 9 Feb. 2020
Kommentiert: Walter Roberson
am 9 Feb. 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
1 Kommentar
Akzeptierte Antwort
Thiago Henrique Gomes Lobato
am 9 Feb. 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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/270674/image.png)
Where
is the heavside function.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/270675/image.png)
3 Kommentare
Thiago Henrique Gomes Lobato
am 9 Feb. 2020
Bearbeitet: Thiago Henrique Gomes Lobato
am 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Mathematical Functions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!