一般最小二乘法 c语言,最小二乘法C语言的实现(7页)-原创力文档

实验三 .最小二乘法C语言的实现

1.实验目的:

进一步熟悉曲线拟合的最小二乘法。

掌握编程语言字符处理程序的设计和调试技术。

2.实验要求:

输入:已知点的数目以及各点坐标 。

输出:根据最小二乘法原理以及各点坐标求出拟合曲线 。

3.程序流程:

(1)输入已知点的个数;

(2)分别输入已知点的X坐标;

(3)分别输入已知点的Y坐标;

(4)通过调用函数,求出拟合曲线。

最小二乘法原理如下:

根据一组给定的实验数据,求出自变量x与因变量y的函数关系,只要求在给定点上的误差的平方和最小.当时,即 (4.4.1)这里是线性无关的函数族,假定在上给出一组数据,以及对应的一组权,这里为权系数,要求使最小,其中  (4.4.2)

(4.4.2)中实际上是关于的多元函数,求I的最小值就是求多元函数I的极值,由极值必要条件,可得   (4.4.3)根据内积定义引入相应带权内积记号 (4.4.4)则(4.4.3)可改写为

这是关于参数的线性方程组,用矩阵表示为 (4.4.5)(4.4.5)称为法方程.当线性无关,且在点集上至多只有n个不同零点,则称在X上满足Haar条件,此时(4.4.5)的解存在唯一。记(4.4.5)的解为 从而得到最小二乘拟合曲线 (4.4.6)可以证明对,有  故(4.4.6)得到的即为所求的最小二乘解.它的平方误差为 (4.4.7)均方误差为   在最小二乘逼近中,若取,则,表示为    (4.4.8)此时关于系数的法方程(4.4.5)是病态方程,通常当n≥3时都不直接取作为基。?

程序流程图:

开始

开始

输入已知点个数n

输入已知点个数n

输入已知点的X坐标 ↓

输入已知点的X坐标

输入已知点的Y坐标↓

输入已知点的Y坐标

输出结果↓

输出结果

程序:

#include

#include

#include

#include

float average(int n,float *x)

{int i;

float av;

av=0;

for(i=0;i

av+=*(x+i);

av=av/n;

return(av);

}

//平方和

float spfh(int n,float *x)

{int i;

float a,b;

a=0;

for(i=0;i

a+=(*(x+i))*(*(x+i));

return(a);

}

//和平方

float shpf(int n,float *x)

{int i;

float a,b;

a=0;

for(i=0;i

a=a+*(x+i);

b=a*a/n;

return(b);

}

//两数先相乘,再相加

float dcj(int n,float *x,float *y)

{int i;

float a;

a=0;

for(i=0;i

a+=(*(x+i))*(*(y+i));

return(a);

}

//两数先相加,再相乘

float djc(int n,float *x,float *y)

{int i;

float a=0,b=0;

for(i=0;i

{a=a+*(x+i);

b=b+*(y+i);

}

a=a*b/n;

return(a);

}

//系数a

float xsa(int n,float *x,float *y)

{float a,b,c,d,e;

a=spfh(n,x);

b=shpf(n,x);

c=dcj(n,x,y);

d=djc(n,x,y);

e=(c-d)/(a-b);

//printf("%f %f %f %f

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合同相似可逆等价矩阵的关系及性质_行列式的性质问题

行列式的学习一方面要掌握计算行列式的一般方法;对性质要理解。考点与要求:了解:行列式的概念、方阵的乘积、行列式的性质;掌握:行列式的性质;会用:行列式的性质和行列式按行(列)展开定理计算行…

查找整数c语言编程,关于算法:查找整数的位数

查找正整数的位数的最佳方法是什么?我发现了这3种基本方法:转换为字符串String s new Integer(t).toString();int len s.length();for循环for(long long int temp number; temp > 1;){temp/10;decimalPlaces;}对数计算digits floor( log10( numbe…

c++ windows 蓝牙库_蓝牙翻页笔(PPT 控制器) | ESP32学习之旅-Arduino版

本系列历史文章目录:ESP32概述与Arduino软件准备新冠肺炎疫情数据实时显示器B 粉计数器本期给大家带来的案例是:蓝牙翻页笔。先来看一下演示视频吧:蓝牙翻页笔 | PPT播放控制器 | 蓝牙键盘 | 用 Arduino 玩转掌控板 ESP32 / ESP8266 | 图形化…

c语言课程设计2018,C语言课程设计报告(2018)——学生管理系统(17页)-原创力文档...

兰州交通大学博文学院《C语言程序设计》课 程 设 计 报 告系 别: 交通运输系班 级: 16交通运输(3)班姓 名:学 号:指导老师:2018年1月5日兰州交通大学博文学院交通运输系课程设计成绩评定表学生姓名班 级学 号导师姓名职…

python 程序运行在阿里云主机_阿里云主机Access key利用工具

简介(Gamma实验室核心成员:一灯老和尚所写)在日常渗透过程中我们经常遇到信息泄露出ALIYUN_ACCESSKEYID与ALIYUN_ACCESSKEYSECRET(阿里云API key),特别是laravel框架得debug信息。APP中也会泄露这些信息&am…

c语言中case1 case3 n =1,(n 1)-Step Derivations on n-Groupoids: The Case n = 3

摘要:We define a ranked trigroupoid as a natural followup on the idea of a ranked bigroupoid. We consider the idea of a derivation on such a trigroupoid as representing a two-step process on a pair of ranked bigroupoids where the mapping d is a …

输入数字存入数组C语言,//从键盘上输入若干整数,并将其存入数组中,并统计输入数据的个...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//从键盘上输入若干整数,并将其存入数组中,并统计输入数据的个数。#include#include#include#includeint sum_num(char [],int []);int cou_num(char [][81],int,int[]);int txt(char [][81],int);//主函数m…

一张纸厚度是多少毫米_一张纸的威力有多大?纸折103次捅破宇宙,理论荒诞却无法反驳...

【图文摘自网络,如有侵权请联系删除】人类达到月球需要多久时间?地球和月亮的距离不是一成不变的,它有着近地点和远地点,地球里月球最远的距离在363300千米,最远为405500千米。而当年阿波罗号由火箭发射到登陆月球表面…

c语言中结构体类型只有,C语言中main()函数不要返回结构体类型(求助)

大家先看一下这段程序:#include typedef unsigned char bool;typedef struct _person person;struct _person {bool sex;};person main() {person xingwang;xingwang.sex 0;return xingwang;}如此简单清晰的程序,您觉得会报错吗?如果您和我一…

oracle 两表两列数据对比_Oracle、PostgreSQL与Mysql数据写入性能对比

最近因为工作需要,需要对Oracle和Mysql写入性能进行对比,以前都是听说Mysql性能比Oracle不是一个级别,现在亲测后,不比不知道,一比吓一跳。。。追加PostgreSql性能测试数据测试场景本地电脑(单机),通过程序…

锐驰机器人的市场_【年终盘点】2020年,锐驰的王炸新品!

点击蓝字关注我哦辛苦付出、苦熬实干,换来了硕果累累、丰收成片。回首2020年,锐驰秉承着锐意进取、快速创新的理念,在自动化道路上不断探索,推出了多款智能自动化机器,现在着重介绍以下3款:异型插件机器人、…

c语言语音控制游戏文献,C语言课程设计-基于C语言推箱子游戏设计-毕业论文文献.doc...

gd工程职业技术学院毕业论文基于C语言的推箱子游戏设计Design of the push box Based on Combined Language作者姓名:学科专业: 应用电子技术学院(系部): 机电工程系指导教师:gd工程职业技术学院2013年1月摘要近年来随着科技的飞速…

学生管理系统c#语言代码,基于C#语言的学生管理系统的设计(ASP.NET2.0)

摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生管理系统是学校管理中不可少的一部分。而基于B/S架构的学生管理系统是方便学校管理,实行电子办公的必要组成部分&#xf…

异常信息_一个针对异常信息通知的springboot starter

前言作为后端开发者,项目上线之后难免会遇到各种问题,一个良好且及时的异常通知机制可以让我们在项目的维护上避免很多不必要的麻烦。本项目的开发愿景是为了给使用者在线上项目的问题排查方面能够带来帮助,简单配置,做到真正的开…

2使用教学_建水三中智能交互式液晶一体机设备投入使用

“张老师,一体机的使用会了吗?”“一体机在教学中好用吗?”“告别多年粉笔加黑板的教学方式,不用再吸入粉笔灰了。”2月25日清晨,建水三中的老师们议论纷纷,大家关注的是如何操作使用教室里安装的一体机。建…

数据结构折半查找算法C语言,数据结构C语言实现----折半查找

运行结果&#xff1a;代码如下&#xff1a;#include//数组初始化函数void Array_get(int array[],int max){printf("请输入一个数组&#xff0c;大小从低到高&#xff0c;各个数字间以空格隔开&#xff1a;");for (size_t i 0; i < max; i){scanf("%d"…

生活中的算法的实际举例_驾校学的技术,在实际生活中,你能运用自如吗?

学驾照的过程不用说&#xff0c;每一个经历过的人都有着刻骨铭心的记忆。很多人认为自己流了很多汗水&#xff0c;付出了很多精力在练车场上摸爬滚打&#xff0c;这下肯定把驾驶技术给夯实了&#xff0c;以后开车上路一点问题也没有。但是事情真的是这样吗&#xff0c;驾校学的…

c语言万年历设计背景,万年历设计报告

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#includechar* month_str[]{"January","February","March","April","May","June","July","August","September","Octob…

470p 更换固态硬盘_联想G510换固态硬盘遇到的问题

唉&#xff01;更正一下吧&#xff01;电脑识别光驱位机械硬盘没有成功&#xff0c;出现了新问题&#xff0c;偶尔能识别出来&#xff0c;通常情况下不能识别出来&#xff0c;正在寻找解决办法中.........现在对于刚发表的这篇文章&#xff0c;有点惭愧&#xff01;二更&#x…

linux指针赋值原子,x86_64处理器的指针赋值是原子操作吗?

如题&#xff0c; x86_64处理器的指针赋值是原子操作吗&#xff1f;说实话我很讨厌参与讨论那些似乎不确定东西&#xff0c;倒不是说我对未知不敬畏&#xff0c;而是参与讨论的人大多数都是似懂非懂&#xff0c;对&#xff0c;我说的不确定性指的是参与讨论的人的认知的不确定&…