matlab插值计算.doc
《matlab插值计算.doc》由会员分享,可在线阅读,更多相关《matlab插值计算.doc(23页珍藏版)》请在咨信网上搜索。
1、插值方法晚上做一个曲线拟合,结果才开始用最小二乘法拟合时,拟合出来的东西太难看了!于是尝试用其他方法。经过一番按图索骥,终于发现做曲线拟合的话,采用插值法是比较理想的方法。尤其是样条插值,插完后线条十分光滑。方法付后,最关键的问题是求解时要积分,放这里想要的时候就可以直接过来拿,不用死去搜索啦。呵呵插值方法的Matlab实现一维数据插值MATLAB中用函数interp1来拟合一维数据,语法是YI = INTERP1(X,Y,XI,方法)其中(X, Y) 是已给的数据点, XI 是插值点,其中方法主要有 linear -线性插值,默认 pchip -逐段三次Hermite插值 spline -逐
2、段三次样条函数插值其中最后一种插值的曲线比较平滑例:x=0:.12:1; x1=0:.02:1;%(其中x=0:.12:1表示显示的插值点,x1=0:.02:1表示插值的步长)y=(x.2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,o); hold on;y1=interp1(x,y,x1,spline);plot(x1,y1,:)如果要根据样本点求函数的定积分,而函数又是比较光滑的,则可以用样条函数进行插值后再积分,在MATLAB中可以编写如下程序:function y=quadspln(x0,y0,a,b)f=inline(interp1(x0,y0,x,spl
3、ine),x,x0,y0);y=quadl(f,a,b,1e-8,x0,y0);现求sin(x)在区间0,pi上的定积分,只取5点x0=0,0.4,1,2,pi;y0=sin(x0);I=quadspln(x0,y0,0,pi)结果得到的值为 2.01905, 精确值为2求一段matlab插值程序悬赏分:20 - 解决时间:2009-12-26 19:57 已知5个数据点:x=0.25 0.5 0.75 1 y=0 0.3104 0.6177 0.7886 1 ,求一段matlab插值程序,求过这5个数据点的插值多项式,并在x-y坐标中画出y=f(x)图形,并且求出f(x)与x轴围成图形的面积
4、(积分),不胜感激! 使用Lagrange 插值多项式的方法:首先把下面的代码复制到M文件中,保存成lagranfunction C,L=lagran(X,Y)% input - X is a vector that contains a list of abscissas% - Y is a vector that contains a list of ordinates% output - C is a matrix that contains the coefficients of the lagrange interpolatory polynomial%- L is a matrix
5、 that contains the lagrange coefficients polynomialw=length(X);n=w-1;L=zeros(w,w);for k=1:n+1V=1;for j=1:n+1if k=jV=conv(V,poly(X(j)/(X(k)-X(j);endendL(k,:)=V;endC=Y*L;然后在命令窗口中输入以下内容: x=0 0.25 0.5 0.75 1;y=0 0.3104 0.6177 0.7886 1;lagran(x,y)ans = 3.3088 -6.3851 3.3164 0.7599 0得到的数据就是多项式各项的系数,注意最后一个
6、是常数项,即x0,所以表达式为:f=3.3088*x.4-6.3851*x.3+3.3164*x.2 +0.7599*x求面积就是积分求解 f=(x)3.3088*x.4-6.3851*x.3+3.3164*x.2 +0.7599*x; quad(f,0,1)ans = 0.5509 这些点肯定是通过这个多项式的! MATLAB插值与拟合1曲线拟合实例:温度曲线问题气象部门观测到一天某些时刻的温度变化数据为:t012345678910T1315171416192624262729试描绘出温度变化曲线。曲线拟合就是计算出两组数据之间的一种函数关系,由此可描绘其变化曲线及估计非采集数据对应的变量信
7、息。曲线拟合有多种方式,下面是一元函数采用最小二乘法对给定数据进行多项式曲线拟合,最后给出拟合的多项式系数。1.线性拟合函数:regress()调用格式: b=regress(y,X) b,bint,r,rint,stats= regress(y,X) b,bint,r,rint,stats= regress(y,X,alpha)说明:b=regress(y,X)返回X与y的最小二乘拟合值,及线性模型的参数值、。该函数求解线性模型:y=X+是p1的参数向量;是服从标准正态分布的随机干扰的n1的向量;y为n1的向量;X为np矩阵。bint返回的95%的置信区间。r中为形状残差,rint中返回每一
8、个残差的95%置信区间。Stats向量包含R2统计量、回归的F值和p值。例1:设y的值为给定的x的线性函数加服从标准正态分布的随机干扰值得到。即y=10+x+ ;求线性拟合方程系数。程序: x=ones(10,1) (1:10);y=x*10;1+normrnd(0,0.1,10,1);b,bint=regress(y,x,0.05)结果: x = 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10y = 10.9567 11.8334 13.0125 14.0288 14.8854 16.1191 17.1189 17.9962 19.0327 20.0175b
9、 = 9.9213 1.0143bint = 9.7889 10.0537 0.9930 1.0357即回归方程为:y=9.9213+1.0143x2.多项式曲线拟合函数:polyfit( )调用格式: p=polyfit(x,y,n) p,s= polyfit(x,y,n)说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。矩阵s用于生成预测值的误差估计。(见下一函数polyval)例2:由离散数据x0.1.2.3.4.5.6.7.8.91y.3.511.41.61.9.6.4.81.52拟合出多项式。程序: x=0:.1:1;y=.3 .5 1 1.4 1.6 1
10、.9 .6 .4 .8 1.5 2;n=3;p=polyfit(x,y,n)xi=linspace(0,1,100);%linspace用于创建向量,如:x=linspace(a1,a2,a3);a1为第一个元素,a2为最末一个元素,a3表示x共有a3个元素,每个元素间距相等。z=polyval(p,xi); %多项式求值plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据,3阶曲线)结果:p = 16.7832 -25.7459 10.9802 -0.0035多项式为:16.7832x3-25.7459x2+10.9802x-0.0035曲线拟合图形:如果是n=6,则如下
11、图:也可由函数给出数据。例3:x=1:20,y=x+3*sin(x)程序: x=1:20; y=x+3*sin(x); p=polyfit(x,y,6) xi=linspace(1,20,100); z=polyval(p,xi); %多项式求值函数 plot(x,y,o,xi,z,k:,x,y,b) legend(原始数据,6阶曲线)结果:p =0.0000 -0.0021 0.0505 -0.5971 3.6472 -9.7295 11.3304再用10阶多项式拟合 程序:x=1:20;y=x+3*sin(x);p=polyfit(x,y,10)xi=linspace(1,20,100);
12、z=polyval(p,xi);plot(x,y,o,xi,z,k:,x,y,b)legend(原始数据,10阶多项式)结果:p = Columns 1 through 7 0.0000 -0.0000 0.0004 -0.0114 0.1814 -1.8065 11.2360 Columns 8 through 11 -42.0861 88.5907 -92.8155 40.2671可用不同阶的多项式来拟合数据,但也不是阶数越高拟合的越好。3. 多项式曲线求值函数:polyval( )调用格式: y=polyval(p,x) y,DELTA=polyval(p,x,s)说明:y=polyva
13、l(p,x)为返回对应自变量x在给定系数P的多项式的值。y,DELTA=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。(未完)4. 多项式曲线拟合的评价和置信区间函数:polyconf( )调用格式: Y,DELTA=polyconf(p,x,s) Y,DELTA=polyconf(p,x,s,alpha)说明:Y,DELTA=polyconf(p,x,s)使用polyfit函数的选项输出s给出Y的95%置信区间Y DELTA。它假设pol
14、yfit函数数据输入的误差是独立正态的,并且方差为常数。1-alpha为置信度。例4:给出上面例1的预测值及置信度为90%的置信区间。程序: x=0:.1:1;y=.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2n=3;p,s=polyfit(x,y,n)alpha=0.05;Y,DELTA=polyconf(p,x,s,alpha) 结果:p = 16.7832 -25.7459 10.9802 -0.0035s =R: 4x4 double df: 7normr: 1.1406Y = Columns 1 through 9 -0.0035 0.8538 1.2970 1
15、.4266 1.3434 1.1480 0.9413 0.8238 0.8963 Columns 10 through 11 1.2594 2.01405. 稳健回归函数:robust( )稳健回归是指此回归方法相对于其他回归方法而言,受异常值的影响较小。调用格式: b=robustfit(x,y) b,stats=robustfit(x,y) b,stats=robustfit(x,y,wfun,tune,const)说明:b返回系数估计向量;stats返回各种参数估计;wfun指定一个加权函数;tune为调协常数;const的值为on(默认值)时添加一个常数项;为off 时忽略常数项。例5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 计算
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。