C 最小二乘法直線擬合演算法

2021-06-01 10:22:55 字數 873 閱讀 5234

測試資料:x2

3456

y0.22

0.38

0.55

0.65

0.70

terminal(粗體為輸出,其它為輸入):

請輸入樣本點的數目:5

請輸入樣本點的坐標。

x,y=2,0.22

x,y=3,0.38

x,y=4,0.55

x,y=5,0.65

x,y=6,0.70

x_bar=4

y_bar=0.5

sigma(xi*yi)=11.23

n*x_bar*y_bar=10

sigma(xi*xi)=90

n*x_bar*x_bar=80

b=(sigma(xi*yi)-n*x_bar*y_bar)/(sigma(xi*xi)-n*x_bar*x_bar)=(11.23-10)/(90-80)

=0.123

a=y_bar-b*x_bar=0.5-0.123*4=0.008

直線方程:y=0.123x+0.008

source code:

#include

int main () else if (counter<2)

printf("請輸入樣本點的坐標。\n");

while (n0) else if (a==0) else

return 0;

}**:

最小二乘法 直線擬合

功能描述 利用最小二乘法求斜率 xytopx 截距 方法1 xytopy 斜率 ncount 點數 void min2method double xytopy,double xytopx,int x,int y,int ncount graphics.drawline pen,point x i y...

最小二乘法擬合直線 c 程式

point.h class point point類的宣告 float getx float gety friend float linefit point l point,int n point 友元函式 int型變數為點數 private 私有資料成員 float x,y end of poin...

最小二乘法 直線擬合 推薦方法

1.最小二乘法 首先舉個例子。針對線性最小二乘法即直線擬合,如下圖 來自維基百科 所示 根據已有的資料 圖中的點 來做出一條最貼近資料發展趨勢的直線。通過這條直線,我們可以對未來的資料進行 因為基本會落在這條直線附近。當然了,最小二乘法不只是直線,還可以是曲線,本文不討論。2.求解直線方程 我們現在...