用C语言编写一个线性插值程序

用C语言编写一个线性插值程序,第1张

#include <stdio.h>

double Lerp(double x0,double y0,double 旁纤x1,double y1,double x)

{

    double dy = y1 - y0

    if(dy == 0){

        printf("除0错误!\n")

        return 0

    }

    return x * (x1 - x0) / dy

}

int main()

{

    double x0,x1,y1,y0,x,y

    printf("Inptu x0 y0 x1 y1 x:")

    scanf("%lf 模樱%lf %lf %lf %lf",&x0,&y0,&运码仿x1,&y1,&x)

    y = Lerp(x0,y0,x1,y1,x)

    printf("y = %lf\n",y)

    return 0

}

一元线性回归的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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12313909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存