2017-05-30 19 views
2

yとxの2つのデータセットがあります。 exampeデータマットの指数指数指数指数

y=[5,4,2,1,3,4,...]; 
x=[1,2,3,4,5,6,...]; 

のために私は、係数A、B、C、A0、B0、C0、A1、B1とC1の機能の下にそれらを合わせて、見つけたいです。 どうすればいいですか? 機能は以下のとおりです。

y= a x^b exp(-x/c) 

と:

y= a0 x^b0 exp(-x/c0)+ a1 x^b1 exp(-x/c1). 

答えて

1
foo_fit = fittype('a*x^b*exp(-x/c)',... 
        'dependent',{'y'},'independent',{'x'},... 
        'coefficients',{'a','b','c'}); 
res = fit(x',y',foo_fit); 

明示的に各係数を述べる必要はありませんので、あなたはまた、C0((fittypeproblemパラメータとして再帰的nを指定することができます、c1、...、cn))しかし、私はどのように/これが可能なのかよく分かりません

+0

重要な点:これにはカーブフィッティングツールボックスが必要です。他のツールボックスでもこのタイプの回帰を実行できますが、これを簡単にするものはありません。 –

+0

警告:警告:スタートポイントは指定されておらず、ランダムなスタートポイントを選択してください。 –

+0

'fit()'関数(https://www.mathworks.com/help/curvefit/fit.html#namevaluepairarguments)のプロパティとして 'StartPoint'、' Lower'/'Upper'限界などを指定することができます。 –