- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算方法教案_曲线拟合函数逼近.doc
第三章 曲线拟合与函数逼近
一.曲线拟合
1.问题提出:
已知多组数据,由此预测函数的表达式。
数据特点:(1)点数较多。(2)所给数据存在误差。
解决方法:构造一条曲线反映所给数据点的变化总趋势,即所谓的“曲线拟合”。
2.直线拟合的概念
设直线方程为y=a+bx。
则残差为:,其中。
残差是衡量拟合好坏的重要标志。
可以用MATLAB软件绘制残差的概念。
x=1:6;
y=[3,4.5,8,10,16,20];
p=polyfit(x,y,1);
xi=0:0.01:7;
yi=polyval(p,xi);
plot(xi,yi,x,y, o);
y1=polyval(p,x);
hold on
for i=1:6
plot([i,i],[y(i),y1(i)], r);
end
可以绘制出如下图形:
三个准则:
(1)最小
(2)最小
(3)最小
3.最小二乘法的直线拟合
问题:对于给定的数据点,求一次多项式y=a+bx,使得总误差Q最小。其中。根据
故有以下方程组(正则方程):
例1.给定数据表,求最小二乘拟合一次多项式
xi 165 123 150 123 141 yi 187 126 172 125 148 解:N=5,=702,=758,=99864,=108396。
则有方程组
解得a=-60.9392,b=1.5138,则一次多项式为y=-60.9392+1.5138b
用MATLAB计算并画图如下:
x=[165,123,150,123,141];
y=[187,126,172,125,148];
A(1,1)=5;A(1,2)=sum(x);A(1,3)=sum(y);
A(2,1)=sum(x);A(2,2)=sum(x.^2);A(2,3)=x*y;
B=rref(A);
a=B(1,3);b=B(2,3);
p=[b,a];
%以上四行,可以用一行命令 p=polyfit(x,y,1); 替代。
xi=min(x)-1:0.01:max(x)+1;
yi=polyval(p,xi);
plot(xi,yi,x,y, o);
绘制如下图形
4.最小二乘法的多项式拟合
问题:对于给定的数据点,求m次多项式(mN),使得总误差Q最小。其中。根据
故有正则方程:
当m=2时,有
例2.求数据表的最小二乘法拟合的二次多项式函数
xi -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 yi 50 40 25 20 18 21 35 56 66 在MATLAB命令窗口输入:
x=-1:0.25:1;
y=[50,40,25,20,18,21,35,56,66];
A(1,1)=length(x);A(1,2)=sum(x);A(1,3)=sum(x.^2);A(1,4)=sum(y);
A(2,1)=sum(x);A(2,2)=sum(x.^2);A(2,3)=sum(x.^3);A(2,4)=y*x;
A(3,1)=sum(x.^2);A(3,2)=sum(x.^3);A(3,3)=sum(x.^4);A(3,4)=y*(x.^2);
B=rref(A);
p=[B(3,4),B(2,4),B(1,4)];
%以上五行可以用 p=polyfit(x,y,2); 替代
xi=min(x)-0.1:0.01:max(x)+0.1;
yi=polyval(p,xi);
plot(xi,yi,x,y, o);
可以绘制出如下图形:
例3.从三次多项式上找出21个点,然后对这21个点进行“差错处理”,得到新的21个点,根据新的21个点拟合一个新的3次多项式函数,然后和原函数进行比较。
解:在MATLAB命令窗口输入:
p3=inline(2.*x.^3-3.*x.^2+4.*x-5);
x=-10:10;
y=p3(x);
e=randn(1,length(x))*80;
y=y+e;
p=polyfit(x,y,3);
xi=-10:0.01:10;
yi=polyval(p,xi);
plot(xi,yi,x,y, o);
hold on
fplot(p3,[-10,10],r);
5.利用MATLAB的多项式拟合命令polyfit来实现多项式的插值
例1.过随机6个数据点,构造5次多项式函数。
解:在MATLAB命令窗口输入:
x=1:6;
y=round(10*randn(1,6));
p=polyfit(x,y,length(x)-1);
xi=1:0.01:6;
yi=polyval(p,xi);
plot(xi,yi,x,y, o);
可以得到以下图形:
6.利用最小二乘法解超定方程组
例1.解下列超定方程组
解:设超定方程的解为。
方法一:点到4条直线的距离平方分别
您可能关注的文档
最近下载
- JBL PartyBox 1000用户中文手册.pdf
- 2023年牛津译林版七年级英语下册《Unit 4》单元测试(附答案).doc VIP
- 《计算机网络技术基础 》(王崇刚)教案 (理论部分) 网络体系结(一)网络体系结构概述.pdf VIP
- AP物理2 单元练习题1 Fluids and Thermal Physics.pdf VIP
- 《计算机网络技术基础 》(王崇刚)教案 (实训部分) 上机实训(七) .docx VIP
- EPC工程设计管理主要内容.docx
- 装修公司融资商业计划书(精选5).pptx
- 生化期末考试吉林大学2015.pdf VIP
- 计算机网络技术基础与实训.pptx VIP
- 2023年牛津译林版七年级英语下册Unit8 测试题(附答案).doc VIP
文档评论(0)