私は自分の実験からの電気泳動データをフィッティングするためのルーチンを実装しようとしています。
目的は、データセット内のピークの面積に基づいて、エレクトロフェログラムのピークの相対的な面積から生体分子の相互作用の速度論的パラメーターを導出することです。
ここで説明するように、関連するすべての微分方程式が既知であり、方程式のセットには解析解があるため、次のようになります。
私はmatlabに関連する方程式(参照された原稿からの6、8、13、...)を入力することに着手しました。
このように作成された関数は機能し、相互作用する種のエレクトロフェログラムをシミュレートするために使用できます。
明らかに、この関数を使用して実験データを適合させ、パラメーター(合計8、Va、Vc、MUa、MUc、k、A0、C0、ベースラインノイズ)を取得したいと思います。
これらのいくつかは明らかに相関しています。値の例は次のようになります(それらの大きさのアイデアを与えるため):
params0 = [ ...
8.44E-02; ... % Va
1.25E-01; ... % Vc
5.32E-05; ... % MUa
8.87E-05; ... % MUc
4.48E-03; ... % k
6.06E-01; ... % A0
3.00E-00; ... % C0
4.64E-03 ... % noise
];
私の問題は、実験データを提供してlsqcurvefitのようなものを試してみると次のようになります。
[x,resnorm,residual] = lsqcurvefit(@(param,xdata) Electropherogram2(param,xdata,column), params0, time, ydata,lb, ub);
反復が不足したり、(明らかに適合性が低い)極小値に達したりするため、結果が非常に悪くなることがよくあります...
開始値と許可された間隔をいじくり回した場合にのみ(つまり、他の実験を通じて可能性のある値がわかっているため)、最終的にはまともな適合になりますが、それでも、適合は元の報告ほど良くありません原稿(図3)。
その原稿の著者はExcelソルバーを使用し、図3で使用された元のデータを提供してくれましたが、それでも、ほぼ文字通りほぼ正しい開始値を提供しなければ、彼らのようにうまくフィットすることはできません。
このプロセスの試行錯誤を減らすために何を調整できるかを知るのに十分な経験がありません。
グローバル最適化ツールボックスのようなものは私を助けますか?
ヒントは大歓迎です...