18.matlab数据分析多项式的拟合(matlab程序)

news2024/10/6 8:24:26

1.简述

      

解决数据拟合问题最重要方法是最小二乘法和回归分析。如,我们需要从一组测定的数据(例如N个点(xi,yi)(i=0,1,…,m))去求得自变量 x 和因变量 y 的一个近似解表达式 y=f(x),这就是由给定的 N 个点(xi,yi)(i=0,1,…,m)求数据拟合的问题。(注意数据拟合和数据插值是不同的,举个例子:因为测量数据往往不可避免地带有测试误差,而插值多项式又通过所有的点(xi,yi),这样就使插值多项式保留了这些误差,从而影响逼近精度,使得插值效果不理想)
所以使用最小二乘法曲线拟合法:即寻求已知函数的一个逼近函数y=f(x),使得逼近函数从总体与已知函数的偏差按某种方法度量能达到最小,而又不一定通过全部的点(xi,yi),这个时候就需要使用最小二乘法曲线拟合法。
数据拟合的具体做法是:对给定的数据(xi,yi)(i=0,1,…,m),在取定的函数类ϕ \phiϕ中使误差r i = p ( x i ) − y i ( i = 0 , 1 , … , m ) r_{i}=p\left(x_{i}\right)-y_{i}(i=0,1, \ldots, m)r 

 (i=0,1,…,m)的平方和最小,即
 

从几何意义讲,即寻求与给定点 x i − y i ( i = 0 , 1 , … , m ) x_{i}-y_{i}(i=0,1, \ldots, m)x 

 (i=0,1,…,m) 的距离平方和为最小的曲线y=p(x)。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。
在曲线拟合中,函数类 ϕ \phiϕ 可有不同的选取方法。
MATLAB工具箱中提供了最小二乘拟合函数 polyfit() -->多项式曲线拟合
具体调用格式有三种:

P = polyfit(X,Y,N)
[P,S] = polyfit(X,Y,N)
[P,S,MU] = polyfit(X,Y,N)
(1)P = polyfit(X,Y,N) 返回次数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。p 中的系数按降幂排列,p 的长度为 n+1.
其中 X 为输入的向量x,Y 为得到的函数值,N 表示拟合的最高次数,返回的P值为拟合的多项式:

P ( 1 ) × X n + P ( 2 ) × X n − 1 + … + P ( N ) × X + P ( N + 1 ) P(1) \times X^{n}+P(2) \times X^{n-1}+\ldots+P(N) \times X+P(N+1)
P(1)×X 
n
 +P(2)×X 
n−1
 +…+P(N)×X+P(N+1)

(2) [P,S] = polyfit(X,Y,N)还返回一个结构体 S,S可用作 polyval 的输入来获取误差估计值(S为由范德蒙矩阵的QR分解的R分量)。
其中 X 为输入的向量x,Y 为得到的函数值,N 表示拟合的最高次数,返回的P值为拟合的多项式:

P ( 1 ) × X n + P ( 2 ) × X n − 1 + … + P ( N ) × X + P ( N + 1 ) P(1) \times X^{n}+P(2) \times X^{n-1}+\ldots+P(N) \times X+P(N+1)
P(1)×X 
n
 +P(2)×X 
n−1
 +…+P(N)×X+P(N+1)

(3)[P,S,MU] = polyfit(X,Y,N)还返回 mu,mu是一个二元素向量,包含中心化值和缩放值。mu(1) 是 mean(x),mu(2) 是 std(x)。使用这些值时,polyfit 将 x 的中心置于零值处并缩放为具有单位标准差,这种中心化和缩放变换可同时改善多项式和拟合算法的数值属性。
 

2.代码

% 多项式的拟合

clc;
clear all;
x=[0.2 0.3 0.5 0.6 0.8 0.9 1.2 1.3 1.5 1.8];
y=[1 2 3 5 6 7 6 5 4 1];
p5=polyfit(x,y,5);%5阶多项式拟合
y5=polyval(p5,x);
p5=vpa(poly2sym(p5),5)%显示5阶多项式
p9=polyfit(x,y,9);%9阶多项式拟合
y9=polyval(p9,x);
figure;%画图显示
plot(x,y,'bo');
hold on;
plot(x,y5,'r:');
plot(x,y9,'g--');
legend('原始数据','5阶多项式拟合','9阶多项式拟合');
xlabel('x');
ylabel('y');
 

3.运行结果

 

 

 

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

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

相关文章

解决Vue2中控制台报错 [WDS] Disconnected! 问题

Vue2 项目打开控制台时发现如下报错 : [WDS] Disconnected! client?9556:172 其实并没有对项目运行本身造成什么实质性的影响,但是一条红色的提示摆在那里确实不太好看,还是把他给解决掉吧。 在网上看好多人说需要将 config…

django实现好看的翻页分页效果,封装翻页组件,实现在任意页面实现翻页功能。

一、实现目标 在做web开发的时候,我们经常需要显示表格或者列表类型的数据,当数据比较多的时候,我们不会一次性全部显示出来,而是一次只显示固定数量的数据,当要查看其他数据时,点击翻页进行查看,而这个功能就是我们实现的分页、翻页功能。 话不多说,我们期望实现的翻页…

opencv-15 数字水印原理

最低有效位(Least Significant Bit,LSB)指的是一个二进制数中的第 0 位(即最低位)。 最低有效位信息隐藏指的是,将一个需要隐藏的二值图像信息嵌入载体图像的最低有效位,即将载体图像的最低有效…

央视报道!北京筑龙深度参编的 《企业采购供应链数字化成熟度模型》开始实施

7月12日,由中国物流与采购联合会牵头,北京筑龙深度参与编写的《企业采购供应链数字化成熟度模型》团体标准在“第四届国有企业数智化采购与智慧供应链论坛”上重磅发布。该标准于7月15日起正式实施,并将在企业中开展模型应用评估试点工作。 图…

服务器量化训练操作说明

Freespace服务器预训练主要步骤: 首先登录堡垒机,命令如下: ssh xxxrelay.baidu-int.com (xxx为个人邮箱前缀) 密码为个人邮箱密码 登录工作机,命令如下: ssh l3yq01-gpu-255-122-22-00.e…

Redis源码篇 - inset数据结构

inset是Redis中set类型的一种底层存储结构(编码),它是基于整数数组来实现的,用于存储数值类型set集合数据,并具备长度可变、有序等特征。 有序性 为了方便查找,Redis会将intset中整数数据按照从小到大的顺…

017-从零搭建微服务-系统服务(四)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端):https://gitee.com/csps…

【服务器】零成本搭建网站并内网穿透实现公网访问

零成本搭建网站并内网穿透实现公网访问 在普通电脑用户看来,建立自己的网站总是一件高大上的事情,这个网站不仅可以成为展示自己的平台,还能成为商业的载体。在以往,建立一个像样的网站,不仅需要过硬的编程知识做基础…

在外远程桌面控制家里的电脑

在外远程桌面控制家里的电脑 电脑作为现代家庭不可或缺的电子设备之一,早已在广大家庭中普及。不仅年轻人需要在工作、生活中使用电脑,在老家的父母也在熟悉和使用电脑。但身在外乡打工的我们,总会碰到家中父母抱怨电脑卡、慢、不好用的情况…

微信小程序学习笔记(四)——自定义组件

自定义组件 组件的创建与引用 创建组件 在根目录下创建 components 文件夹右键点击 components 文件夹,选择新建 Component,就会自动生成.wxml、.wxss、.js、.json文件 引用组件 组件的引用方式分为“局部引用”和“全局引用”,故名思义…

【指针的进阶(3)】回调函数和qsort排序各种类型的数据

文章目录 前言一、回调函数是什么?如何实现回调函数 二、回调函数的应用——qsortqsort排序各种类型的数据 总结 前言 前两章讲了指针的类型,数组传参和指针传参,还有函数指针和函数指针数组,接下来第三章讲回调函数 指针函数非常…

MySQL-运维

1、日志 1.1 错误日志 错误日志是MysQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&#…

高阶C语言|结构体,枚举,联合--自定义类型的使用计算

自定义类型--结构体,枚举,联合 一、结构体1.1结构体类型的声明1.1.1结构的基础知识1.1.2结构的声明1.1.3特殊的声明 1.2结构体的引用1.3结构体变量的定义和初始化1.4结构体内存对齐1.4.1修改默认对齐数 1.5结构体传参1.6结构体实现位段(位段的…

数据结构与算法基础-学习-26-图之MST(最小代价生成树)之Kluskal(克鲁斯卡尔)算法

最小生成树的概念、源码实现和Prim(普利姆)算法的概念和源码实现请参考之前的博客:《数据结构与算法基础-学习-25-图之MST(最小代价生成树)之Prim(普利姆)算法》 一、算法思路 Kluskal算法相较…

11.键盘事件

键盘事件 html部分 <div class"insert"><div class"key">请按下你的键盘</div> </div>css部分 * {margin: 0;padding: 0; }body {display: flex;justify-content: center;align-items: center;height: 100vh;overflow: hidden; }…

Pytorch手动实现softmax回归

参考代码&#xff1a;https://blog.csdn.net/ccyyll1/article/details/126020585 softmax回归梯度计算方式&#xff0c;特别是ij和i! j时的计算问题&#xff0c;请看如下帖子中的描述&#xff0c;这个问题是反向传播梯度计算中的一个核心问题&#xff1a;反向传播梯度计算中的…

哈工大计算机网络课程局域网详解之:MAC地址与ARP协议

哈工大计算机网络课程局域网详解之&#xff1a;MAC地址与ARP协议 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;MAC地址与ARP协议MAC地址ARP&#xff1a;地址解析协议寻址&#xff1a;从一个LAN路由至另一个LAN MAC地址 在介绍MAC地址前&#xff0c;首先回顾一下之前…

SAP ABAP 实现数据库表行项目和程序加解锁功能

1.SAP ABAP 实现数据库表行项目加解锁功能 实现效果&#xff1a; 当一个数据库表以某字段为关键字段的数据被锁定时&#xff0c;同一时间其他程序无法修改改表内被锁定的数据&#xff0c;除非被解锁或退出程序。 1.事务代码&#xff1a;SE11 创建锁对象。PS&#xff1a;命名…

【计组】不同进制数之间的相互转换

前言 1、推荐在线进制转换器&#xff1a;&#xff08;都还不错&#xff09; 在线进制转换 | 进制转换器 — 在线工具 (sojson.com) 在线进制转换器 | 菜鸟工具 (runoob.com) 在线进制转换 - 码工具 (matools.com) 2、进位计数法 &#xff08;1&#xff09;二进制&#xf…

JavaScript字符串和模板字面量

● 上节课我们说明&#xff0c;号可以当作字符串连接符号使用&#xff0c;例如 const firstName "Sun"; const job "技术分享博主"; const birthYear 1991; const year 2023;const sun "我叫" firstName ",是一个" (year - bi…