Just putting this in standard syntax:
sage: f = 10*(1-exp(-.23*x))^2
sage: g = 20*(1-exp(-.23*(x-14)))^2-10
sage: g
20*(e^(-0.230000000000000*x + 3.22000000000000) - 1)^2 - 10
sage: f
10*(e^(-0.230000000000000*x) - 1)^2
sage: solve(f==g,x)
[]
Sage gives solutions in list form by default. Python (which Sage is largely based upon) lists are in square brackets. This one has no items, so it is the empty list.
sage: solve(f==g,x,to_poly_solve=True) # invokes another type of solver, but one which doesn't always return exact answers
[]
But there is another issue, which is that solve
(which is from Maxima's solve) seeks exact solutions, in general. If it can't solve it exactly, it may indeed return no answers, even if there are some.
Now, a little playing with find_root
discovers something interesting.
sage: f.subs(x=1000)
10.0000000000000
sage: g.subs(x=1000)
10.0000000000000
Well, maybe Maxima's solve capabilities should have found that... but apparently it didn't. However, you may find find_root
is what you are actually interested in.
sage: find_root(f-g,0,20)
11.070582936901683