Re: [問題] 畫出曲線的方程式已回收
※ 引述《zupo (幫解MATLAB難題囧)》之銘OB言:
: ※ 引述《d813235 (黑仔)》之銘言:
: : 我有一組數據,如下
: : X Y
: : 1 138.7621143
: : 1.1 132.0150487
: : 1.2 126.5959957
: : 1.3 122.1579943
: : 1.4 118.4868378
: : 1.5 115.4121367
: : 1.6 112.8312104
: : 1.7 110.6203745
: : 1.8 108.7589215
: : 1.9 107.1706603
: : 2 105.833881
: : 2.1 104.6968691
: : 2.2 103.7146867
: : 2.3 102.8626892
: : 2.4 102.1016606
: : 2.5 101.4588566
: : 2.6 100.8978903
: : 2.7 100.410599
: : 2.8 99.97586583
: : 2.9 99.61093959
: : 3 99.30654241
: : 這是一個含X^-1的方程式,但excel畫不出含X^-1的趨勢線
: : 有翻了matlab的書,沒看到類似相關畫此方程式的章節
: : 1.怎麼把這組數據匯入matlab呢??
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 可以用 複製貼上在 COMMAND WINDOWS 中
: : 2.匯入之後怎麼畫出精確的方程式呢??
: : 謝謝各位大大。
: 上述步驟製作出 x 與 y 矩陣後.打開matlab中的 Curve Fitting Toolbox
: 用該工具箱可以求數據擬合方程式中的待定係數
: 以下是我做的結果
: General model:
: f(x) = a*x^(-1)+c
: Coefficients (with 95% confidence bounds):
: a = 58.23 (55.11, 61.35)
: c = 77.84 (76.01, 79.68)
: Goodness of fit:
: SSE: 32.32
: R-square: 0.9877
: Adjusted R-square: 0.987
: RMSE: 1.304
: 以下是驗證
: 當然若有其他先進拋磚引玉也歡迎不吝指教
我也提一種做法...既然已知 x^(-1)為方程式中之一項,那麼就可以直接將x^(-1)
直接輸入..
假設data為剛才匯入的資料段,那麼
x=data(:, 1);
y=data(:, 2);
para=polyfit(1./x, y, 2)
^^^^^^ ^^^^^^^假設要fit為二階
直接拿1/x來做fit
上式就可以fit出 y = a (1/x)^2+ b*(1/x) + c的結果
驗證:
t=linspace(1, 3, 100);
fity=a*(1./t).^2+b*(1./t)+c
polt(t, fity, x, y, '.')
當然,使用curve fitting toolbox是個很容易使用的方式,簡單又好用...連誤差
都講得清清楚楚了..
--
只要相信,幸福就會如影隨形
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.203.13
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章