回答
你可以做的一件偉大的事情是在Matlab中使用「曲線擬合」應用程序。你可以在APPS的「數學,統計和優化」部分找到它。
在那裏,您可以選擇您的x和y數據以及您希望適合它們的功能(您可以輸入自定義方程式,例如S形)。
然後,您可以在一個圖上看到擬合結果,並顯示擬合參數。
如果您對結果感到滿意並且想要在代碼中使用它們,只需點擊File選項卡下的生成代碼即可。 你可以在截圖中看到細節。按下生成代碼按鈕後,matlab將創建一個功能,它會得到相同的結果。我喜歡做的僅僅是複製,我需要在這種情況下,部分:
enter code here
[xData, yData] = prepareCurveData(x, y);
% Set up fittype and options.
ft = fittype('a/(1+exp(-b*x))', 'independent', 'x', 'dependent', 'y');
opts = fitoptions('Method', 'NonlinearLeastSquares');
opts.Display = 'Off';
opts.StartPoint = [0.957166948242946 0.485375648722841];
% Fit model to data.
[fitresult, gof] = fit(xData, yData, ft, opts);
,你可以看到MATLAB添加必要的細節,現在你可以訪問使用fitresult擬合參數。例如 - > fitresult.a
只要小心,代碼和圖像中的fittype不對應。 – lhcgeneva
@lhcgeneva爲什麼不呢? – HoomanShan
因爲你的圖像中的fittype是sigmoid('a /(1 + exp(-bx)'),而你的代碼是指數('a +(ba)* exp(-c * x)') – lhcgeneva
- 1. 擬合曲面數據,matlab
- 2. 擬合高斯數據用Matlab
- 3. 對數軸的最佳擬合線(MATLAB)
- 4. Matlab - 點雲數據的曲線擬合
- 5. 擬合數據中的多項式,matlab
- 6. 擬合Powerlaw指數數據matlab
- 7. matlab的指數擬合
- 8. matlab中的指數擬合
- 9. Matlab(如何擬合多個數據集)
- 10. 擬合對數正態分佈使用Scipy與Matlab
- 11. 在對數 - 對數圖上使用polyfit擬合數據集
- 12. MATLAB:多個函數擬合
- 13. 擬合在MATLAB
- 14. 使用Matlab polyfit擬合拋物線
- 15. 用Matlab來擬合分佈?
- 16. 爲什麼我無法使用scipy.optimize.curve_fit將sigmoid函數適用於此數據?
- 17. 從MatLab擬合對象圖得到點
- 18. Sigmoid函數使用賈馬數學庫在sigmoid函數中沒有輸出
- 19. 使用matlab的非線性擬合函數
- 20. 曲線擬合MATLAB中使用cftool的隱函數
- 21. MATLAB組合數據
- 22. matlab曲線擬合:對參數的限制
- 23. 從擬合對象中取得擬合數據
- 24. 在Matlab中通過數據點擬合指數曲線
- 25. 將數據擬合到MATLAB中的B樣條中
- 26. 2D多項式擬合到表中的數據MATLAB
- 27. 將泊松分佈擬合到MATLAB中的一組數據
- 28. 特定公式中的數據擬合 - matlab
- 29. 將模型擬合到matlab中的數據
- 30. Matlab中時間相關矩陣集的數據擬合
如果設置正確,並且可以確保分母在近似值範圍內沒有零,多項式(等度)的比率可以非常好地擬合S形。這可能是過度的,但很難說根據你的問題。 – mathematician1975
你可以嘗試與lsqnonlin http://au.mathworks.com/help/optim/ug/lsqnonlin.html – gregswiss
可能重複的[MATLAB擬合數據給用戶給定函數](http://stackoverflow.com/questions/12970043 /數據到用戶給定函數的matlab擬合) – tashuhka