MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Global Fitting multiple equations to multiple

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84594] Global Fitting multiple equations to multiple
  • From: Michael Parker Latham <Michael.Latham at Colorado.EDU>
  • Date: Sun, 6 Jan 2008 05:54:31 -0500 (EST)

Hi,
I have collected a time dependent data set.  At each time point there is four observables (IntDiagBo, IntDiagFr, IntCrossFrBo and IntCrossBoFr) which can be described by four equations (ibb, iff, ifb, ibf).  These four equations are related and depend on six variables (ib, if, rb, rf, kbf, kfb).  I would like to globally fit the four data sets to the four equations to extract the six variable.  What I have done so far is below

In[1]:= << "NonlinearRegression`"

Setup Equations

In[2]:= a11 = rb + kbf;
a12 = -kfb;
a21 = -kbf;
a22 = rf + kfb;
\[Lambda]1 = 1/2*((a11 + a22) + Sqrt[(a11 - a22)^2 + 4*kfb*kbf]);
\[Lambda]2 = 1/2*((a11 + a22) - Sqrt[(a11 - a22)^2 + 4*kfb*kbf]);

Diagonal Peaks Equations

In[8]:= ibb = ib*((\[Lambda]1 - a11) Exp[-\[Lambda]2*x1] - (\[Lambda]2 - a11) 
       Exp[-\[Lambda]1*x1])/(\[Lambda]1 - \[Lambda]2);
iff = if*((\[Lambda]1 - a22) Exp[-\[Lambda]2*x1] - (\[Lambda]2 - a22) 
       Exp[-\[Lambda]1*x1])/(\[Lambda]1 - \[Lambda]2);

Cross Peaks Equations

In[10]:= ibf = ib*(a21*Exp[-\[Lambda]1*x1] - 
      a21*Exp[-\[Lambda]2*x1])/(\[Lambda]1 - \[Lambda]2);
ifb = if*(a12*Exp[-\[Lambda]1*x1] - 
      a12*Exp[-\[Lambda]2*x1])/(\[Lambda]1 - \[Lambda]2);

Data for 1 set of peaks

In[12]:= IntDiagBo = {{0.01938, 5111831}, {0.03673, 3996563}, {0.03673, 4073294}, {0.05409, 3057033}, {0.07144, 2487152}, {0.08879, 1967903}, {0.10615, 1588128}, {0.10615, 1500203}, {0.1235, 1222629} , {0.14086, 1046551}};
IntDiagFr = {{0.01938 , 13757210}, {0.03673, 11098630}, {0.03673, 11044150}, {0.05409, 9100536}, {0.07144, 7166819}, {0.08879, 6045878}, {0.10615, 4976833}, {0.10615, 5150198}, {0.1235, 4106922}, {0.14086, 3583284}};
IntCrossFrBo = {{0.01938, 418536.5}, {0.03673, 607315.1}, {0.03673, 647085.9}, {0.05409, 663520.1}, {0.07144, 653818.1}, {0.08879, 643523.8}, {0.10615, 577511.9}, {0.10615, 647762.6}, {0.1235, 626453.3}, {0.14086, 564194.7}};
IntCrossBoFr = {{0.01938, 450925.1}, {0.03673, 623400.1}, {0.03673, 719430.4}, {0.05409, 782262.1}, {0.07144, 796733.9}, {0.08879, 730650.5}, {0.10615, 709815.9}, {0.10615, 707971.9}, {0.1235, 754398.6}, {0.14086, 645057.8}};

Restrain Exchange Rates with Kd

In[28]:= 0.002 == kfb/kbf;

I can use FindFit to fit each data set to its respective equation, but I would like to globally, simultaneously fit the four equations to the four data sets to get "better" values for the six variables.

Any help with this would be greatly appreciated.  Please let me know if there is any other information that can be supplied.
Thanks in advance,
Mike


Michael Latham
Graduate Student
Department of Chemistry and Biochemistry
University of Colorado, Boulder
Phone: 303-492-8085
Fax: 303-492-2439


  • Prev by Date: Re: Histogram: Show all y-axis labels
  • Next by Date: Simplification of Hypergeometric Function
  • Previous by thread: Tooltips with 2 data points
  • Next by thread: Re: Global Fitting multiple equations to multiple