可以直接在線進(jìn)行擬合,下面是地址(已驗(yàn)證)
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比明山網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式明山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋明山地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
建議你直接對(duì)數(shù)據(jù)用Matlab的cftool擬合(可以自由的自定義擬合函數(shù)形式)
首先你要知道最小二乘法的公式,然后使用數(shù)組實(shí)現(xiàn)。比如定義數(shù)組double x[10]代表十個(gè)橫坐標(biāo),double y[10]代表縱坐標(biāo),然后套公式用循環(huán)計(jì)算
#include?iostream
using?namespace?std;
const?int?MAXNUM?=?3;
int?main()
{
double?x[MAXNUM],y[MAXNUM];
double?sumx=0,sumy=0,sumxy=0,sumxx=0;
double?a,b;
int?i;
cout"輸入"MAXNUM"組樣本:";
for?(i=0;iMAXNUM;i++)
{
cinx[i]y[i];
sumx?+=?x[i];
sumy?+=?y[i];
sumxy?=?x[i]*y[i];
sumxx?=?x[i]*x[i];
}
double?averagex,averagey;
averagex?=?sumx/MAXNUM;
averagey?=?sumy/MAXNUM;
b?=?(sumxy?-?MAXNUM*averagex*averagey)/(sumxx?-?MAXNUM*averagex*averagex);
a?=?averagey?-?b*averagex;
cout"線性擬合曲線為:y="a"+"b"*y\n";
return?0;
}
擬合直線之后會(huì)有一個(gè)擬合結(jié)果表,在這個(gè)表里有直線的方程,斜率值(slop),截距值(intercept),以及這些值的誤差(error),和擬合結(jié)果的r^2(越接近于1,表明擬合結(jié)果越好)。
如果沒(méi)有看到這個(gè)表,那么點(diǎn)擊菜單欄上的view
-
results
log,就能看到了。
1、通過(guò)一些點(diǎn)擬合出一條直線。
2、參數(shù):pt_input指向傳入的點(diǎn)的指針。
3、ptNumbers傳入的點(diǎn)數(shù)量。
4、k指向擬合直線參數(shù)k的指針。
5、b指向擬合直線參數(shù)b的指針。
文章名稱:c語(yǔ)言庫(kù)線性擬合函數(shù),線性擬合算法 c程序
文章出自:http://www.rwnh.cn/article30/dssdiso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化、虛擬主機(jī)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)