Question: a problem with fsolve

i have a problem with a nonlinear equation containing Heaviside step function. fsolve does not return anything and SolveEquation command also returns incorrect answer. How can i solve this equation? any method or help is appreciated.


 

 

restart:

with(DirectSearch):

F:=x*(Heaviside(x-(S0))/(1-DD)+Heaviside(-x+S0)/(1-HH*DD));

x*(Heaviside(x-S0)/(1-DD)+Heaviside(-x+S0)/(-DD*HH+1))

(1)

EQ:=F-E*Y;

-E*Y+x*(Heaviside(x-S0)/(1-DD)+Heaviside(-x+S0)/(-DD*HH+1))

(2)

HH:=0.2;
DD:=0.579350262599427;
S0:=1e8;
E:=70e9;
Y:=0.001668993263529;

.2

 

.579350262599427

 

0.1e9

 

0.70e11

 

0.1668993263529e-2

(3)

EQ

-116829528.5+x*(2.377274752*Heaviside(x-0.1e9)+1.131055455*Heaviside(-x+0.1e9))

(4)

fsolve(EQ)

fsolve(-116829528.5+x*(2.377274752*Heaviside(x-0.1e9)+1.131055455*Heaviside(-x+0.1e9)), x)

(5)

SolveEquations(EQ)

Warning, complex or non-numeric value encountered; trying to find a feasible point

 

[1.3868049384289111*10^13, Vector(1, {(1) = -3723983.000}), [x = 9.999999999999999*10^7], 231]

(6)

eval(EQ,x = 1.00000000000000*10^8)

Float(undefined)

(7)

 


 

Download fsolve.mw

Please Wait...