MATLAB —— polyfit()多项式曲线拟合(线性拟合/线性回归)
文章目录
- (一)多项式曲线拟合函数
- (二)多项式曲线拟合函数(计算标准误差估计值)
打开工具 - 方法1: MATLAB - APP - Curve Fitting
打开工具 - 方法2: 命令行窗口:cftool(Curve Fitting Tool)
多项式曲线拟合公式: p(x) = p(1)*x^n + p(2)*x^(n-1) + ... + p(n)*x + p(n+1).
定义1: 用连续曲线近似地刻画或比拟平面上离散点组所表示的坐标之间的函数关系。
定义2: 在数值分析中,曲线拟合就是用解析表达式逼近离散数据,即离散数据的公式化。
最小二乘法: 通过" 最小化误差的平方和 "寻找与数据匹配的最佳函数,使得求得的函数(解析表达式)与实际数据之间误差的平方和为最小。
MathWorks官网:多项式曲线拟合(polyfit)
(一)多项式曲线拟合函数
p = polyfit(x, y, n);
返回阶数为 n 的多项式系数,p为多项式系数向量,向量中的系数按降幂排列。该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。
y = polyval(p, x);
计算多项式(p为系数向量)在(x)点出得函数值(y)
clear; % 删除工作区中项目,释放系统内存
clc; % 清空命令行窗口
close all; % 关闭句柄可见的所有图窗
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (1)构建原始数据
x = 1:20;
y = -1.2*x + 2*randn(1, length(x));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (2)多项式曲线拟合
p = polyfit(x, y, 1); % 多项式曲线拟合
f = polyval(p, x); % 多项式计算
% p = polyfit(log(x), y, 2); % 多项式(对数)曲线拟合
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (3)开始画图
figure; % 创建图窗窗口
scatter(x, y); % 原始数据。scatter:绘制散点图。
hold on; % 添加新绘图时,保留当前绘图
plot(x, f, 'Color', 'r'); % 拟合曲线。plot:画图xlabel('x'); % 添加 x 轴标签
ylabel('y'); % 添加 y 轴标签
title('Polynomial curve fitting'); % 添加标题
legend('data', 'linear fitting'); % 添加图例
(二)多项式曲线拟合函数(计算标准误差估计值)
[p, S] = polyfit(x, y, n)
将返回一个结构体 S,可用作 polyval 的输入来获取误差估计值。
[y, delta] = polyval(p, x, S)
使用 polyfit 生成的可选输出结构体 S 来生成误差估计值。delta 是使用 p(x) 预测 x 处的未来观测值时的标准误差估计值。
clear; % 删除工作区中项目,释放系统内存
clc; % 清空命令行窗口
close all; % 关闭句柄可见的所有图窗
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = 1:100;
y = -0.3*x + 2*randn(1,100);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[p, S] = polyfit(x, y, 1);
[f, delta] = polyval(p, x, S);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 绘制原始数据、线性拟合、95%预测区间(y±2Δ)。
plot(x, y, 'bo')
hold on
plot(x, f, 'r-')
plot(x, f+2*delta, 'm--', x, f-2*delta, 'm--')
title('Linear Fit of Data with 95% Prediction Interval')
legend('Data','Linear Fit','95% Prediction Interval')
MATLAB —— polyfit()多项式曲线拟合(线性拟合/线性回归)相关推荐
- matlab中散点图的线性拟合_【在线等】Matlab 散点图线性拟合
我着急做个图,具体题目是:有三组数据:分别为x,y,z,做一个散点图,然后线性拟合,并且在图中显示拟合直线方程,请写出全部运行语句并稍加解释.x坐标名称为H(m),y为S(mm),z为Sf(mm),数 ...
- matlab中散点图的线性拟合_Matlab直线拟合和平面拟合
利用 Matlab 实现直线和平面的拟合 2011-04-14 10:45:43| 分类: 算法思想 | 举报 | 字号 订阅 直线和平面拟合是很常用的两个算法,原理非常简单.但如果 matlab 不 ...
- Matlab 多项式曲线拟合polyfit
polyfit 多项式曲线拟合 常见语法 a = polyfit ( x, y, n) 说明 a=polyfi ...
- Matlab 隐函数方程求解最小二乘法拟合一阶线性拟合二阶拟合传感器实验
九层妖塔 起于垒土 Matlab 最小二乘法拟合一阶线性拟合&传感器实验 一.代码 二.数据处理结果 三.Notes 一.代码 %电容传感器位移实验数据 最小二乘法一阶线性拟合 x = ...
- matlab最小二乘法拟合图旋转,【Matlab】—{最小二乘法拟合一阶线性拟合传感器实验}...
[Matlab]-{最小二乘法拟合一阶线性拟合传感器实验} [Matlab]-{最小二乘法拟合一阶线性拟合&传感器实验} ???九层妖塔?起于垒土 [Matlab]-{最小二乘法拟合一阶线性拟 ...
- 基于MATLAB的多项式数据拟合方法研究-毕业论文
摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...
- MATLAB polyfit函数——多项式拟合
一.基本形式 p = polyfit(x,y,n) 此函数用一个n次多项式来拟合一组数据点(x,y),并且将多项式系数以数组p的形式输出,p中的系数按降幂排列,数组长度为 n+1. 如果要将拟合好的多 ...
- 线性拟合polyfit_6.数据分析(1) 描述性统计量和线性回归(2)
昨天分享了描述性统计量相关内容,今天把昨天剩下的部分写完, 昨天文章链接: 6.数据分析(1) --描述性统计量和线性回归(1) 前言:在针对非物理信号分析的时候,例如用户数.用户经常出入的地点.疾病 ...
- matlab 万能,matlab 万能实用的线性曲线拟合方法
在科学计算和工程应用中,经常会遇到需要拟合一系列的离散数据,最近找了很多相关的文章方法,在这里进行总结一下其中最完整.几乎能解决所有离散参数线性拟合的方法 第一步:得到散点数据 根据你的实际问题得到一 ...
- matlab中多项式拟合如何给出r方,matlap拟合函数后r^2怎么求
matlab拟合函数 求助 尝试用二次多项式拟合: clearall; x=2:2:20; y=[0.31.232.416.267.958.529.049.179.299.37]; scatter(x ...
最新文章
- 分享Kali Linux 2016.2第50周镜像文件
- JPA 中文乱码问题
- Android开发7:简单的数据存储(使用SharedPreferences)和文件操作
- 在godaddy的空间上发布使用MySql 和 Entity Framework做的网站时遇到的Security Exception...
- CISCO ASA防火墙ASDM配置
- Idea修改项目的包名
- 这四款录屏工具,也许是电脑录屏软件中免费、无广告且最实用的
- 【Tensorflow踩过的坑儿】pb转pbtxt
- 史上最简单的土地利用转移矩阵分析(附练习数据下载)
- wow修改人物模型_人物修改教程更仔细
- 《C语言小游戏之贪吃蛇程序代码》
- 做APP,从头到尾产品经理需要做什么?- 项目启动前
- 有限维空间上的线性算子
- PyS60 console中文乱码问题
- F1 Delta Time 将停止运营,玩家的奖励如何?
- 全球围剿下,苹果还能挺多久?
- 常用工具软件-官网下载地址
- 人工智能学计算机语言,人工智能需要学什么编程语言
- Verilog 流水线设计
- c语言编译通过无法运行程序,请教:这是一个模拟寒食薛定锷方程的程序,编译通过后但无法运行...