错误有以下几点:
f1=f1+a(t,m)*i 这句中,i没有赋值。有的编译器会初始化变量,则i默认为0,有的不搜拍慧会,就会出现贺孝一个很奇怪的值。
b(m)=((f1)-(1/60)*(f2)*(f3))/((f4)-(1/60)*(f3)*(f3))这句中,在运算1/60时,由于分子和分母都是整型,其运算结果世答也会是整型,则1/60的值是0,所以该句等效于b(m)=((f1)
只能帮你到这了,至于数据读入是否正确或者逻辑是否正确,由于没有数据,也不知道你要算什么,所以无法判断。
(1)用Matlab程序:
x=[9 13 15 17 18 20 22 23 26 30]'
y=[6 8 9 10 11 13 14 13 15 20]'
p=polyfit(x,y,1)
p1=polyval(p,x)
p2=polyval(p,20)
p2
plot(x,y,'k*',x,p1)
X=[ones(10,1),x]
[b,bint,r,rint,stats]=regress(y,X)
可得结果
y=0.6285x-0.2303
在显著性水平0.05下
统计量检验:R2=0.9599,F=191.5279,p=0.0000
说明线性关系良好,回归通过检验。
(2)x=20时,y的估计值为程序中p2的结果,
即为12.3400
附录:运行结果(如图为拟合曲线)
p =
0.6285 -0.2303
p2 =
12.3400
b =
-0.2303
0.6285
bint =
-2.3449 1.8843
0.5238 0.7332
r =
0.5737
0.0596
-0.1974
-0.4544
-0.0829
0.6600
0.4030
-1.2255
-1.1110
1.3749
rint =
-0.9730 2.1204
-1.8037 1.9229
-2.1237 1.7289
-2.3906 1.4818
-2.0693 1.9034
-1.2465 2.5666
-1.5354 2.3414
-2.8563 0.4053
-2.6832 0.4611
0.3256 2.4242
stats =
0.9599 191.5279 0.0000 0.7262
p =
0.6285 -0.2303
p2 =
12.3400
b =
-0.2303
0.6285
bint =
-2.3449 1.8843
0.5238 0.7332
r =
0.5737
0.0596
-0.1974
-0.4544
-0.0829
0.6600
0.4030
-1.2255
-1.1110
1.3749
rint =
-0.9730 2.1204
-1.8037 1.9229
-2.1237 1.7289
-2.3906 1.4818
-2.0693 1.9034
-1.2465 2.5666
-1.5354 2.3414
-2.8563 0.4053
-2.6832 0.4611
0.3256 2.4242
stats =
0.9599 191.5279 0.0000 0.7262
一元线性回归的C语言程序是:利用最小二乘法来估计线性回归方程的参数,然后用这些参数来预测因变量的值1。例如,你可以参考下面的代码:#include <stdio.h>#include <math.h>//定义一个函数,计算一元线性回归方程的参数a和bvoid linear_regression(double x[], double y[], int n, double *a, double *b){//定义变量
double sum_x = 0//x的和
double sum_y = 0//y的和
double sum_xy = 0//xy的和
double sum_x2 = 0//x平方的和
//遍历数组,计此丛绝算各项和
for (int i = 0i <ni++)
{
sum_x += x[i]
sum_y += y[i]
sum_xy += x[i] * y[i]
sum_x2 += x[i] * x[i]
}//根据最小二乘法公式,郑困计算a和b
*a = (n * sum_xy - sum_x * sum_y) / (n * sum_x2 - pow(sum_x, 2))
*b = (sum_y - (*a) * sum_x) / n
}//主函数int main(){//定义一个自变量数组x,存放观测值
double x[] = {1.0, 2.0, 3.0, 4.0} //定义一个因变量数组y,存放观测值
double y[] = {3.1, 4.9, 7.2, 8.9} //定义数组长度n
int n = sizeof(x) / sizeof(x[0]) //定义两个指森姿针变量a和b,用来存放线性回归方程的参数
double a double b
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)