matlab曲线拟合
软件环境:MATLAB2013a
一、多项式拟合
多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小。
在MATLAB中,利用函数ployfit和ployval进行多项式拟合。
函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n)。其中x为自变量,y为因变量,n为多项式阶数。
polyval的输入可以是标量或矩阵,调用格式为
- pv = polyval(p,a)
- pv = polyval(p,A)
其中,p为多项式表示,a为标量,A为矩阵。当输入参数为M*N矩阵A时,函数返回值pv也是M*N矩阵,且pv(i,j) = polyval(p,A(i,j))。
1,多项式拟合示例:对ln(1+x)在[0,1]的采样数据作多项式拟合
(1)对ln(1+x)在[0,1]内采样得到观测数据x、y。
>> x = 0:0.1:1.0; >> y = log(1+x);
(2)调用函数polyfit对观测数据x、y作三阶多项式拟合。
>> P = polyfit(x,y,3)
运行结果如下:
P对应的多项式为0.1079 - 0.3974x + 0.9825x2 + 0.004x3.
(3)分别作拟合曲线和理论曲线
>> xi = 0:0.01:1.0; >> yi = polyval(P,xi); %多项式求值 >> plot(x,y,'ro'); %观测数据点 >> hold on; >> plot(xi,yi,'k'); %作拟合曲线 >> plot(xi,log(1+xi),'g'); %理论曲线 >> xlabel('x'); >> ylabel('y'); >> legend('采样数据','拟合曲线','精确曲线');
效果如下:
二、指数函数拟合
1,指数函数拟合示例:对 1 - √x 在[0,1]的采样数据作指数函数拟合。
(1)对 1 - √x 在[0,1]内采样得到观测数据 x、y。
>> x = 0:0.01:0.99; >> y = 1 - sqrt(x);
(2)调用函数polyfit对 x 、lny 作一阶多项式拟合。
>> P = polyfit(x,log(y),1)
运行结果如下:
(3)求得拟合曲线。
>> yi = exp(polyval(P,x));
(4)分别作观测数据点、拟合曲线和理论曲线。
>> yi = exp(polyval(P,x)); >> plot(x,y,'k.'); >> hold on; >> plot(x,yi,'r'); >> xlabel('x'); >> ylabel('y'); >> legend('采样数据','拟合曲线'); >> hold off;
运行结果如下:
(5)分析拟合误差。
>> e = yi - y; >> plot(x,e); >> xlabel('x'); >> ylabel('误差');
运行结果如下:
三、交互式曲线拟合工具
MATLAB为用户提供了一个交互式曲线拟合工具 Basic Fitting interface。通过该工具,我们无须编写代码就可以完成一些常用的曲线拟合。
(1)载入census data数据。
>> load census
此时MATLAB基本工作空间生成两个double型列向量 cdate 和 pop,cdate 表示1790~1990内10年为间隔的年份,pop为对应年份美国的人口。
>> whos
运行结果如下:
(2)作census data点图。
>> plot(cdate,pop,'ko');
运行结果如下:
(3)在MATLAB的figure中选择Tool → Basic Fitting,即得到Basic Fitting interface 界面。
用户通过Plot fits面板选择不同的曲线拟合方式,为了便于比较,我们可以选择多种拟合方式,从而选择效果最好的一种拟合。
如果某次拟合的效果较差,MATLAB会给出警告,这时用户可以试着通过 Center and Scale X data 改善拟合效果。
如果Show equations复选框被选中,那么图形窗口会显示拟合方程;如果Plot residuals复选框被选中,那么拟合效果将显示误差余量。此外,还可以选择不同的显示类型,如Bar Plot(直方图)、Scatter Plot(散点图)、Line Plot(线图)。
如果Show norm of residuals复选框被选中,那么误差余量图将显示误差余量的范数。
单击,得到如下界面,通过该界面我们能看到拟合的数值结果:
再次单击,得到如下界面。通过该界面右侧的面板,我们可以得到任意点处拟合函数的值,如在编辑框中输入 2000:10:2080,并单击Evaluate按钮,计算结果将显示在列表框中。如果Plot evaluated result复选框被选中,那么计算结果将显示在拟合曲线中。
matlab曲线拟合相关推荐
- matlab 曲线拟合求导,基于matlab曲线拟合的数据预测分析
龙源期刊网 http://www.doczj.com/doc/2f22f716cbaedd3383c4bb4cf7ec4afe05a1b148.html 基于matlab曲线拟合的数据预测分析 作者: ...
- matlab 曲线拟合--视频编码中PSNR计算及码率计算
matlab 曲线拟合分为多项式拟合和一般曲线拟合 一.多项式拟合 用到的函数为: a=polyfit(xdata,ydata,n); n表示多项式的最高阶数: (我遇到的问题是要拟合一般曲线,因此多 ...
- matlab曲线拟合的应用,MATLAB软件在曲线拟合中的应用
2007 年第 3 期 福 建 电 脑 MATLAB软件在曲线拟合中的应用 冯元珍 1, 屠小明 2, 罗建平 2 (1. 南京人口管理干部学院基础部 江苏 南京 210042 2. 南京医科大学数学 ...
- matlab曲线拟合 函数 用法以及例子
在运行MATLAB编程进行数据的处理过程当中,我们常常用到matlab曲线拟合,但是工具箱由于需要人工交互,得到的拟合结果,需要人工的去提取,再输入,所以,工具箱拟合结果十分不适合调用,以及继续下面的 ...
- matlab拟合曲线poly交点,matlab曲线拟合 函数 用法以及例子,看完你就知道了
在运行MATLAB编程进行数据的处理过程当中,我们常常用到matlab曲线拟合,但是工具箱由于需要人工交互,得到的拟合结果,需要人工的去提取,再输入,所以, 工具箱拟合结果 十分不适合调用,以及继续下 ...
- MATLAB曲线拟合工具箱(cftool)介绍(完结)
本文通过实例对MATLAB曲线拟合工具箱进行详细讲解,帮助大家更容易理解曲线拟合工具箱(cftool). 目录 1.实例介绍 2. 进入曲线拟合工具箱界面 3. 加载数据 4. 加载数据 5. 选择拟 ...
- matlab曲线拟合sse等含义,Matlab曲线拟合SSE等含义
Matlab曲线拟合SSE等含义 使用过Matlab的拟合.优化和统计等工具箱的网友,会经常遇到下面几个名词: SSE(和方差.误差平方和):The sum of squares due to err ...
- 基于最小二乘原理的Matlab曲线拟合
基于最小二乘原理的Matlab曲线拟合方法介绍 在数据处理等工作中,经常需要对已知数据进行拟合,进而获得更加光滑流畅的曲线.曲线拟合主要基于多项式插值,三次样条曲线插值,最小二乘拟合. 考虑到最小二乘 ...
- matlab怎么把导入的数据拟合,matlab曲线拟合怎么做,来研究下吧
Matlab是一个在数学领域中使用广泛的软件.它有很高的处理数据的能力.下面,小编就给大家讲解一下matlab曲线拟合怎么做. 工具/材料 matlab7.0及以上版本 操作方法 01 第一步,打开m ...
- matlab对矩阵拟合,matlab曲线拟合与矩阵计算.ppt
matlab曲线拟合与矩阵计算 Matlab应用重点(1)曲线拟合 曲线拟合定义 在实际工程应用和科学实践中,经常需要寻求 两个(或多个)变量间的关系,而实际去只能 通过观测得到一些离散的数据点.针对 ...
最新文章
- 基于Adaboost算法的人脸检测分类器!
- Mac终端(Terminal)自定义颜色,字体,背景
- zoj 1006 Do the Untwist 簡單字符串
- julia有 pytorch包吗_PyTorch 有哪些坑/bug?
- eigen3.3.8帮助文档下载 chm_惠普7500A驱动下载-惠普hp 7500A打印机驱动下载 v28.8官方版...
- 每日一道剑指offer-反转链表
- SQL Server 2005 技术内幕之T-SQL查询——逻辑查询处理(上)
- 猫/路由器/网关/交换机的作用与区别
- 网站转换APP源代码 WebAPP源代码 网站生成APP源代码 Flutter项目 带控制端
- VM虚拟机完美运行macos
- 高响应比优先调度算法(HRRN)
- lg android tv 手机助手,手机如何投屏到LG电视的教程来了!
- B站视频、音频分开传输
- Linux系统分区备份工具,linux系统备份工具:clonezilla
- Latex 加下角标
- linux的系统监视器图片_用Jetson Nano构建一个价值60美元的人脸识别系统
- 2022-2028全球与中国嵌入式计算机市场现状及未来发展趋势
- 自动驾驶在挑战中进化的感知能力
- 老闪创业那些事儿(外传)——教人与用人的撕裂
- 心灵成长的六个定律 (3) - By 武志红
热门文章
- 你到底是前端人还是搬砖人?推荐一款国产摸鱼神器!
- Element UI快速入门
- 上海杨浦|2022年杨浦 “ 创业之星 ” 大赛
- 126 删除邮件 服务器,网易126邮箱中的邮件莫名奇妙被删除
- 软件实施工程师职业规划
- 老调新弹,也玩Linq To Sql批操作
- 招聘中的热门技术技能:SQL、Java、Python 和 Linux
- C语言数据结构队列的插入和删除
- 访问网络计算机提示0 80070035,Win7局域网连接提示0x80070035错误的解决攻略
- 洛谷p5710答案C语言,洛谷题单 101【入门2】分支结构