Re: inverse of calculation

*To*: mathgroup at smc.vnet.net*Subject*: [mg97620] Re: inverse of calculation*From*: dh <dh at metrohm.com>*Date*: Tue, 17 Mar 2009 04:59:06 -0500 (EST)*References*: <gphdoe$oit$1@smc.vnet.net>

Hi Erik, if a numerical approximation is good enough you may simply calculate the function to inverse for a number of {x,y} points. Then you exchange the x and y: {y,x} and use Interpolation to get a function. Take care that the function is invertible (no zeros). E.g.: f1[x_] := Exp[x]; f2[x_] := x^2; f3[x_] := f2[f1[x]]; Plot[f3[x], {x, 0, 3}] dat = Reverse /@ Table[{x, f3[x]}, {x, 0, 3, .1}]; ListPlot[dat] f4 = Interpolation[dat] Plot[f4[x], {x, 1, 400}] hope this helps, Daniel Erik Henriksen wrote: > hello everyone, > > > i need assistance in inverting a calculation. currently, i do the > following: > > i have a dataset, D(x). i wrote a notebook for a physical model of > the process that produces the data. there is a model function, > d(a,b,c,x), where a,b,c are parameters i twiddle to get the best fit > (or ultimately let mathematica's nonlinearmodelfit do it for me). > there are also other physical inputs, call them e(x), that describe > parts of the system i'm studying. in the end, i plot a curve F( e(x), > d(a,b,c,x) ), and by varying the model parameters i try to find the > d() that makes F look the most like D. > > i'd like to flip this process around. > > that is, i'd like to invert the calculation such that i input D(x) (or > a smooth interpolation of it) into Finv ( e(x), D(x) ) and get back a > curve d(x). > > with a single function, i might just invert it. however, F() here is > actually a set of nested functions F(G(H(e(x),d(x))))=96 there's a > number of effects i'm modeling=96, and so i'm unsure how to proceed. > heck, i'm not sure it can be done in principle. > > > > thank you very much for any help. > > best, > erik > >