2016-03-30 14 views
-1

私はデータをMatlabの指数曲線に近づけようとしていますが、非常にうまくフィットしません。私は非常にアマチュアなプログラマーですので、私はcftoolとfitオプション(どうしようとしましたか)を使う方法を本当に知りません。どのように私はよりフィット感をoptainに値を変更するのですか?cftoolを使用してMatlabの指数関数的な増加に合わせる方法は?

Results of the fit: value a should be negative

+0

この回答は役に立ちますか? http://stackoverflow.com/questions/5393001/fit-exponential-curve-through-data-points-in-matlab/17267385#17267385 – Adiel

答えて

1

フィッティングツールは強力ですが、曲線下のリンクで画像を参照してください、それは時々、ヘルプのビットを必要とします。実際には、cftoolが何をしているかは、変数の初期推定値をとり、毎回少しずつ変更し、その適合度を再評価することによってそれらの値を繰り返し改善しようとします。パラメータを少し変更するだけでフィット感が悪くなり、その結果が返されます。より複雑な方程式(例えば、指数関数近似)の場合、これは、時には、グローバル最小値ではなく、ローカル最小値に収束することがあります。

これは、あなたが望む式(あなたの場合は指数関数的フィット)を設定し、次にFit Optionsをクリックしてそこのパラメータで遊ぶことで解決します。大部分のデフォルトはほとんどの目的や目的には適していますが、変数の開始値、およびこれらの変数が取り得る上限と下限を使って遊ぶべきです。これは、[フィットオプション]ダイアログの下部で実行されます。あなたが指摘したように、bがあなたのケースでは負であることを知っているので、たとえばb StartPointを負の値に設定し、上限を0に設定することができます。aで賢明な推測をすることもできますスタートポイントと他のすべての上限と下限があります。

enter image description here

関連する問題