欢迎来到天天文库
浏览记录
ID:38924787
大小:189.00 KB
页数:4页
时间:2019-06-21
《二维插值、牛顿插值的matlab程序代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、二维插值的matlab程序代码>> x=[129.0 140.0 103.5 88.0 185.5 195.0 105.5 157.5 107.5 77.0 81.0 162.0 162.0 117.5];>> y=[7.5 141.5 23.0 147.0 22.5 137.5 85.5 60.5 121.0 3.0 56.5 116.5 84.0 43.5];>> plot(x,y,'o')>> Z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9];>> h=-Z;>> xi=70:3:200;yi=0:3:150;
2、>> [X,Y]=meshgrid(xi,yi);>> H=griddata(x,y,h,X,Y,'cubic');>> mesh(X,Y,H);>> view(-60,30);图形如下:matlab中采用二维插值进行三维绘图之后,如何把图中的各个数据点导出?[X,Y]=meshgrid(-3:.25:3);Z=peaks(X,Y);[XI,YI]=meshgrid(-3:.125:3);ZI=interp2(X,Y,Z,XI,YI);mesh(X,Y,Z)mesh(XI,YI,ZI)%这句话就导出了插入的点牛顿插值(本程序算出牛
3、顿插值多项式的系数)function[c,d]=newpoly(x,y)n=length(x);d(:,1)=y';forj=2:nfork=j:nd(k,j)=(d(k,j-1)-d(k-1,j-1))/(x(k)-x(k-j+1));endendc=d(n,n);fork=(n-1):-1:1c=conv(c,poly(x(k)));m=length(c);c(m)=c(m)+d(k,k);end牛顿插值matlab程序代码clc;formatlong;%显示15位%输入初始数据x0=[0.40.50.70.8];y0=[-0
4、.916291-0.693147-0.356675-0.223144];x=0.6;%插值点n=max(size(x0));y=y0(1);%迭代初始值disp(y);s=1;dx=y0; %每次循环用dx记录差商表的一列fori=1:n-1%构造差商表 %%这里n为节点个数 dx0=dx; forj=1:n-i dx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j)); end df=dx(1); s=s*(x-x0(i)); y=y+s*df;%计算 disp(y
5、);end
此文档下载收益归作者所有