Re: curve fitting question
- To: mathgroup at smc.vnet.net
- Subject: [mg115421] Re: curve fitting question
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Tue, 11 Jan 2011 00:31:06 -0500 (EST)
- References: <igecqn$cqe$1@smc.vnet.net>
Hi Michael, It seems that Mathematica 8 is able to solve for y: In[1]:= Solve[y == a + b (Exp[40*(x + c*y)/d] - 1) - (x + c*y)/e, y] During evaluation of In[1]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >> Out[1]= {{y -> ( 40 a c e - 40 b c e - 40 c x - c d ProductLog[-(( 40 b c e E^((40 a c e)/(d (c + e)) - (40 b c e)/(d (c + e)) + ( 40 x)/d - (40 c x)/(d (c + e))))/(d (c + e)))] - d e ProductLog[-(( 40 b c e E^((40 a c e)/(d (c + e)) - (40 b c e)/(d (c + e)) + ( 40 x)/d - (40 c x)/(d (c + e))))/(d (c + e)))])/( 40 c (c + e))}} During evaluation of In[1]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >> Out[1]= {{y -> ( 40 a c e - 40 b c e - 40 c x - c d ProductLog[-(( 40 b c e E^((40 a c e)/(d (c + e)) - (40 b c e)/(d (c + e)) + ( 40 x)/d - (40 c x)/(d (c + e))))/(d (c + e)))] - d e ProductLog[-(( 40 b c e E^((40 a c e)/(d (c + e)) - (40 b c e)/(d (c + e)) + ( 40 x)/d - (40 c x)/(d (c + e))))/(d (c + e)))])/( 40 c (c + e))}} If that doesn't suit you you could rewrite your equation as y - a + b (Exp[40*(x + c*y)/d] - 1) - (x + c*y)/e, square this, plug in the data points (xi,yi) and sum, then Minimize this. Cheers -- Sjoerd On Jan 10, 8:34 am, "Michael B. Heaney" <mhea... at alum.mit.edu> wrote: > Hi, > > I have data in (x,y) pairs. I have an equation: > > y= a +b (Exp[40*(x + c*y)/d] - 1) - (x +c*y)/e > > where a,b,c,d, and e are fitting parameters. > > Note that this equationcannot be put in the form y=f(x). > > How do I fit this equation to my x,y data? > > Thanks, > > Michael