05第5章插值与拟合习题解答_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 5 章插值与拟合习题解答5.1解画图和计算的 clc, clear程序如下x=-5:0.3:5; L=length(x);a=1 -6 5 3; %定义多项式的系数向量 y=polyval(a,x); %计算多项式的值 plot(x,y,.-)no=randn(1,L); %产生噪声序列 hold onplot(x,y+no,*); %画出噪声点 b1=polyfit(x,y+no,3); %受污染的数据拟合三次多项式 y1=polyval(b1,x); plot(x,y1,-) b2=polyfit(x,y+no,2); %受污染的数据拟合二次多项式 y2=polyval(b2,x);

2、plot(x,y2,-) b3=polyfit(x,y+no,4); %受污染的数据拟合四次多项式 y3=polyval(b3,x); plot(x,y3,rP-)legend(原数据点,噪声污染的数据,三次拟合,二次拟合,四次拟合,0)拟合的结果见图 5.1,从图中可以看出,三次和四次拟合结果都较好,二次拟合效果较差。500-50-100-150-200-250-300-5-4-3-2-1012345图 5.1 各种拟合结果图5.2 解首先把高程数据保存到纯文本文件 data510.txt 中,插值和画等高线的程序如下clc, clearx0=0:400:5600; y0=4800:-400

3、:0;z0=load(data510.txt);pp=cs(x0,y0,z0); %进行二维样条插值x=0:50:5600; y=4800:-50:0;z=fnval(pp,x,y); %求插值后的高程值 subplot(1,2,1),c=contourf(x,y,z,10);clabel(c)%画等高线 subplot(1,2,2),surf(x,y,z) %画三维表面图-31-原 数 据 点噪 声 污 染 的 数 据三 次 拟 合二 次 拟 合四 次 拟 合45003739401.22e+003400018006561.51e+0031600350014001.5300012001 3 e

4、 0031000.51e+0031.08e+0031.22e25008006001.37e+00320004001.51e2001500050001.08e+0031000400060003000798500400020002312000514100000100020003000400050000 0图 5.2 地形的等高线和三维表面图5.3 解对 y aebx 两边取对数得ln y ln a bx ,下面用线性最小二乘法拟合参数ln a 和b ,进而可以得到参数a 的拟合值,求解的clc, clear x=1:8;程序如下y=15.3 20.5 27.4 36.6 49.1 65.6 87.

5、87xishu=ones(8,1),x; %构造系数矩阵117.6;cs=xishulog(y); %线性最小二乘法拟合参数 cs(1)=exp(cs(1) %把 lna 变换成 a拟合的函数为 y 11.4358e0 2913x 。5.4 解要估计在任意时刻(包括水泵灌水期间)t 流出(1)水塔中水的体积的计算计算水的流量,首先需要计算出水塔中水的体积的流量 f (t) ,分如下两步。 VD 2h ,4式中, D 为水塔的直径, h 为水塔中的水位高度。(2)水塔中水流速度的估计水流速度应该是水塔中水的体积对时间的导数,但由于没有每一时刻水体积的具体数学表达式,只能用差商近似导数。由于在两个

6、时段,水泵向水塔供水,无法确定水位的高度,因此在计算水塔中水流速度时要分三段计算。第一段从 0s 到 32284s,第二时段,从 39435s 到 75021s ,第三段,从 85968s 到 93270s 。上面计算仅给出流速的离散值,如果需要得到流速的连续型曲线,需要作插值处理,这里可以使用三次样条插值。如果要计算 24 小时量,需要对水流速度做积分,由于没有给出流速的表达式,可以采用数值积分的方法计算。用计算时,首先把原始数据粘贴到纯文本文件 data512 中,并且把“泵水”替换为数值-1。计算的clc, clear程序如下-32-a=load(data512.txt);t0=a(:,

7、1,3); t0=t0(:); %提出时间数据,并展开成列向量h0=a(:,2,4); h0=h0(:); %提出高度数据,并展开成列向量hs=0.3024; %换算数据D=57*hs;%水塔直径, h=h0/100*hs; %高度数据,m换算成 mt=t0/3600; %时间化成小时V=pi/4*D2*h; %计算各时刻的体积dv=gradient(V,t); %计算各时刻的数值导数(导数近似值) no1=find(h0=-1) %找出原始无效数据的地址no2=no1(1)-1:no1(2)+1,no1(3)-1:no1(4)+1 %找出导数数据的无效地址 tt=t; tt(no2)=; %删除导数数据无效地址对应的时间dv2=-dv; dv2(no2)=; %给出各时刻的流速 plot(tt,dv2,*) %画出流速的散点图pp=cs(tt,dv2); %对流速进行插值tt0=0:0.1:tt(end); %给出插值点 fdv=ppval(pp,tt0); %计算各插值点的流速值 hold on, plot(tt0,fdv) %画出插值曲线I=trapz(tt0(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论