heaviside and sign function
19 次查看(过去 30 天)
显示 更早的评论
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
采纳的回答
Thiago Henrique Gomes Lobato
2020-2-9
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 个评论
Thiago Henrique Gomes Lobato
2020-2-9
编辑:Thiago Henrique Gomes Lobato
2020-2-9
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Mathematical Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!