二维插值、牛顿插值的matlab程序代码 下载本文

内容发布更新时间 : 2024/5/17 18:14:12星期一 下面是文章的全部内容请认真阅读。

二维插值的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 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; >> [X,Y]=meshgrid(xi,yi);

>> H=griddata(x,y,h,X,Y,'cubic'); >> mesh(X,Y,H); >> view(-60,30);

60.5图形如下:

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)%这句话就导出了插入的点

牛顿插值(本程序算出牛顿插值多项式的系数) function [c,d]=newpoly(x,y) n=length(x); d(:,1)=y'; for j=2:n for k=j:n

d(k, j)=(d(k, j-1)-d(k-1, j-1))/(x(k)-x(k-j+1)); end end c=d(n,n); for k=(n-1):-1:1

c=conv(c,poly(x(k))); m=length(c); c(m)=c(m)+d(k,k); end