插值及matlab处理.doc_第1页
插值及matlab处理.doc_第2页
插值及matlab处理.doc_第3页
插值及matlab处理.doc_第4页
插值及matlab处理.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

插值:例1编写程序如下:clearx0=0,3,5,7,9,11,12,13,14,15;y0=0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6;x=13:0.1:15;y1=lagrange(x0,y0,x);y2=interp1(x0,y0,x);y3=interp1(x0,y0,x,spline);pp1=csape(x0,y0);y4=ppval(pp1,x);pp2=csape(x0,y0,not-a-knot);y5=ppval(pp2,x);fprintf(比较不同插值结果下的边界值的差别:n)fprintf(x,y1,y2,y3,y4,y5n)xianshi=x,y1,y2,y3,y4,y5;fprintf(%ft%ft%ft%ft%ft%fn,xianshi)subplot(2,2,1),plot(x0,y0,*r,x,y1),title(lagrange)subplot(2,2,2),plot(x0,y0,*b,x,y2),title(linear)subplot(2,2,3),plot(x0,y0,*y,x,y3),title(spline)subplot(2,2,4),plot(x0,y0,*g,x,y4),title(spline csape1)subplot(2,2,4),plot(x0,y0,*c,x,y5),title(spline csape2)dyx0=ppval(fnder(pp1),x0(1) %求x=0处的导数ytemp=y3(13:15);index=find(ytemp=min(ytemp);xymin=x(13+index),ytemp(index)function y=lagrange(x0,y0,x);n=length(x0);m=length(x);for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j=k p=p*(z-x0(j)/(x0(k)-x0(j); end end s=p*y0(k)+s; end y(i)=s;end比较不同插值结果下的边界值的差别:x, y1, y2 y3, y4, y513.0000001.2000001.2000001.2000001.2000001.20000013.1000001.1398561.1800001.1500901.1506011.15009013.2000001.0848011.1600001.1062571.1073611.10625713.3000001.0363881.1400001.0687141.0704191.06871413.4000000.9961671.1200001.0376751.0399161.03767513.5000000.9656441.1000001.0133551.0159941.01335513.6000000.9462201.0800000.9959660.9987910.99596613.7000000.9391291.0600000.9857220.9884500.98572213.8000000.9453611.0400000.9828380.9851110.98283813.9000000.9655751.0200000.9875260.9889140.98752614.0000001.0000001.0000001.0000001.0000001.00000014.1000001.0483241.0600001.0204741.0185671.02047414.2000001.1095681.1200001.0491621.0450441.04916214.3000001.1819451.1800001.0862781.0799181.08627814.4000001.2627041.2400001.1320341.1236751.13203414.5000001.3479551.3000001.1866451.1768011.18664514.6000001.4324811.3600001.2503251.2397831.25032514.7000001.5095221.4200001.3232861.3131081.32328614.8000001.5705451.4800001.4057431.3972611.40574314.9000001.6049911.5400001.4979101.4927301.49791015.0000001.6000001.6000001.6000001.6000001.600000dyx0 = 0.5007xymin =14.3000 1.0492二维插网格节点一):另一组数据:原始数据例2已知某处山区地形选点测量坐标数据为:海拔高度数据为: Xy 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5089908785929196939087820.500092969899959189868482841.000096989592908885848381851.500080818289959693928986862.00082858798999697888582832.500082858994959392918684883.000088929394958987868381923.500092969798969395848281844.000085858182808081859093954.500084868198999897969584875.000080818582838487909586885.500080828184858683828180826.00008788899899979698949287程序:x=0:0.5:5;y=0:0.5:6;z=89 90 87 85 92 91 96 93 90 87 82 92 96 98 99 95 91 89 86 84 82 84 96 98 95 92 90 88 85 84 83 81 85 80 81 82 89 95 96 93 92 89 86 86 82 85 87 98 99 96 97 88 85 82 83 82 85 89 94 95 93 92 91 86 84 88 88 92 93 94 95 89 87 86 83 81 92 92 96 97 98 96 93 95 84 82 81 84 85 85 81 82 80 80 81 85 90 93 95 84 86 81 98 99 98 97 96 95 84 87 80 81 85 82 83 84 87 90 95 86 88 80 82 81 84 85 86 83 82 81 80 82 87 88 89 98 99 97 96 98 94 92 87;mesh(x,y,z) %绘原始数据图xi=linspace(0,5,50); %加密横坐标数据到50个yi=linspace(0,6,80); %加密纵坐标数据到60个xii,yii=meshgrid(xi,yi); %生成网格数据zii=interp2(x,y,z,xii,yii,cubic); %插值mesh(xii,yii,zii) %加密后的地貌图hold on % 保持图形xx,yy=meshgrid(x,y); %生成网格数据plot3(xx,yy,z+0.1,ob) %原始数据用O绘出sandian散点插值:程序:clearx=129,140,103.5,88,185.5,195,105,157.5,107.5,77,81,162,162,117.5;y=7.5,141.5,23,147,22.5,137.5,85.5,-6.5,-81,3,56.5,-66.5,84,-33.5;z=-4,-8,-6,-8

温馨提示

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

最新文档

评论

0/150

提交评论