?? 最小二乘.cpp
字號:
#include<stdio.h>
#include<math.h>
#define MAX 100
int main(void)
{
double x[MAX],y[MAX];
int n,i;
printf("請輸入座標對數:\n");
scanf("%d",&n);
printf("\n");
if(n>MAX){
printf("溢出\n");
}
for(i=1;i<=n;i++){
printf("請輸入第%d個X值: ",i);
scanf("%f",&x[i]);
printf("\n");
}
for(i=1;i<=n;i++){
printf("請輸入第%d個Y值: ",i);
scanf("%f",&x[i]);
printf("\n"); //ok
}
//運算部分
double xo,yo,xyo,x2o,k,b;
for(xo=0,i=1;i<=n;i++){ //x的均值
xo+=x[i];
}
xo/=n;
for(yo=0,i=1;i<=n;i++){ //y的均值
yo+=x[i];
}
yo/=n;
for(xyo=0,i=1;i<=n;i++){ //x*y的均值
xyo+=x[i]*y[i];
}
xyo/=n;
for(x2o=0,i=1;i<=n;i++){ //x的平方均值
x2o+=x[i]*x[i];
}
x2o/=n;
k=(xo*yo-xyo)/(xo*xo-x2o);
b=yo-k*xo;
printf("y=%.3fx+%.3f\n",k,b);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -