0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

c语言实现一元线性回归

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-06-17 16:16 次阅读

第一:用所给样本求出两个相关变量的(算术)平均值

第二:分别计算分子和分母:(两个公式任选其一)分子

第三:计算b:b=分子/分母

用最小二乘法估计参数b,设服从正态分布,分别求对a、b的偏导数并令它们等于零。

先求x,y的平均值X,Y,再用公式代入求解:

pYYBAGKsOHmAOXvIAAArOnhJzHs998.png

后把x,y的平均数X,Y代入a=Y-bX

求出a并代入总的公式y=bx+a得到线性回归方程

(X为xi的平均数,Y为yi的平均数)


#include  
#include  
void main()
 {
	float x[8] = {300.0 , 400.0 , 400.0 , 550.0 , 720.0 , 850.0 , 900.0 , 950.0};
	float y[8] = {300.0 , 350.0 , 490.0 , 500.0 , 600.0 , 610.0 , 700.0 , 660.0};
    int i;
	int n; 
	float x_ave, y_ave, a, b, b1, mxy, sum_x, sum_y, lxy, xiSubSqr;
	n = sizeof(x) / sizeof(x[0]);
 

	a = b = mxy = sum_x = sum_y = lxy = xiSubSqr = 0.0;
 
	for (i = 0; i < n; i++)
	{
		sum_x += x[i];
		sum_y += y[i];
	}
 
     x_ave = sum_x / n;
	 y_ave = sum_y / n;
 
	for (i = 0; i != n; i++)
	{
		lxy += (x[i] - x_ave) * (y[i] - y_ave);
		xiSubSqr += (x[i] - x_ave) * (x[i] - x_ave);
	}
 
	b = lxy / xiSubSqr;
	a = y_ave - b * x_ave;
 
	printf("y=%0.2fx+%0.2f\n", b, a);
 
	system("pause");
}

运行代码如下:

poYBAGKsOCWAN_4gAAFZyr1ZzWc712.png


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4622

    浏览量

    93086
  • C语言
    +关注

    关注

    180

    文章

    7608

    浏览量

    137195
  • 线性回归
    +关注

    关注

    0

    文章

    41

    浏览量

    4311
收藏 人收藏

    评论

    相关推荐

    使用C语言解决一元二次方程的求根问题

    C语言种面向过程的编程语言,学习难度不是很大,例如用个简单的程序,就可以解决一元二次方程的
    发表于 09-04 16:22 1992次阅读
    使用<b class='flag-5'>C</b><b class='flag-5'>语言</b>解决<b class='flag-5'>一元</b>二次方程的求根问题

    基于RK3568国产处理器教学实验箱操作案例分享:一元线性回归实验

    、实验目的 本节视频的目的是了解一元线性回归定义、了解一元线性
    发表于 12-05 14:14

    基于Proteus和C语言实现

    基于Proteus和C语言实现共四个题目,有没有人愿意尝试下?
    发表于 07-14 06:20

    如何用C语言实现个简单的一元线性回归算法

    今天我们用C语言实现个简单的线性回归算法;在代码前面我们在回顾一下线性
    发表于 07-20 06:34

    传感器网络中种基于一元线性回归模型的空时数据压缩算法

    针对传感器网络中节点采样数据的空间和时间冗余特点以及节能要求,该文提出了种基于一元线性回归模型的空时数据压缩算法ODLRST。ODLRST 先在每个节点内进行消除时间冗余的数
    发表于 03-06 11:46 23次下载

    C语言之求一元二次方程的根

    C语言之求一元二次方程的根,很好的C语言资料,快来学习吧。
    发表于 04-22 17:45 0次下载

    C语言教程之一元钱的兑换方案问题

    C语言教程之一元钱的兑换方案问题,很好的C语言资料,快来学习吧。
    发表于 04-25 15:03 0次下载

    DSP算法的c语言实现

    DSP算法的c语言实现,又需要的朋友下来看看。
    发表于 05-09 10:59 0次下载

    PID控制算法的C语言实现(完整版)

    PID控制算法的C语言实现 PID算法原理
    发表于 11-05 15:45 0次下载

    matlab经典算法数字实验教程之回归分析

    本文档的主要内容详细介绍的是matlab经典算法数字实验教程之回归分析主要内容包括了:1.一元线性与非线性回归分析,2.简介一元
    发表于 01-03 11:46 16次下载
    matlab经典算法数字实验教程之<b class='flag-5'>回归</b>分析

    累加校验和C语言实现

    累加校验和C语言实现
    发表于 11-29 18:06 10次下载
    累加校验和<b class='flag-5'>C</b><b class='flag-5'>语言实现</b>

    怎么用C语言实现多态

    这里我想主要介绍下在C语言中是如何实现的面向对象。知道了C语言实现面向对象的方式,我们再联想下,C
    的头像 发表于 10-12 09:12 2073次阅读

    利用C语言实现高斯列主消去法解线性方程组

    这篇文章主要是用C语言实现高斯列主消去法求解多元次方程。
    的头像 发表于 12-02 09:25 2325次阅读

    嵌入式开发的一元线性回归算法介绍

    一元线性回归顾名思义就是个自变量(可以是ADC采集到的电压值、DS18B20采集到的温度值、也可以是光敏传感器采集的光照强度值)。
    发表于 04-29 09:49 599次阅读

    C语言实现Web参数传递

    电子发烧友网站提供《C语言实现Web参数传递.docx》资料免费下载
    发表于 03-24 09:14 2次下载