函数逼近与曲线(面)拟合的MATLAB程序(9)
发布时间:2021-06-06
发布时间:2021-06-06
函数逼近与曲线(面)拟合的MATLAB程序
[A2,B2,Y2i,R2m]=sanjiao(X2,Y2,Xi,6);
[A3,B3,Y3i,R3m]=sanjiao(X3,Y3,Xi,6);
plot(X1,Y1,'r*', Xi, Y1i,'b-',Xi, Y2i,'g--', Xi, Y3i, 'm:',
Xi, f, 'k-.')
xlabel('x'),ylabel('y')
legend('数据点(xi,yi)','n=13的三角多项式','n=60的三角多项式
','n=350的三角多项式','函数f(x)')
title('例7.7.1 的数据点(xi,yi)、n=13,60,350的三角多项式T3
和函数f(x)的图形')
运行后图形(略).
7.8 随机数据点上的二元拟合及其MATLAB程序
例7.8.1 设节点(X,Y,Z)中的X和Y分别是在区间[ 3,3]和[ 2.5,3.5]上的50个随机数,Z是函数Z=7-3xe在(X,Y)的值,拟合点(XI,YI)中的XI=-3:0.2:3, YI=-2.5:0.2:3.5.分别用二元拟合方法中最近邻内插法、三角基线性内插法、三角基三次内插法和MATLAB 4网格化坐标方法计算在(XI,YI)处的值,作出它们的图形,并与被拟和曲面进行比较.
解 (1)最近邻内插法.输入程序
>> x=rand(50,1);
y=rand(50,1); %生成50个一元均匀分布随机数x和y, x,y .
X=-3+(3-(-3))*x;%利用x生成的随机变量.
Y=-2.5+(3.5-(-2.5))*y; %利用y生成的随机变量.
Z=7-3* X.^3 .* exp(-X.^2 - Y.^2); %在每个随机点(X,Y)处计算Z的值.
X1=-3:0.2:3;
Y1=-2.5:0.2:3.5;
[XI,YI] = meshgrid(X1,Y1); %将坐标(XI,YI)网格化.
ZI=griddata(X,Y,Z,XI,YI, 'nearest') %计算在每个插值点(XI,YI)处的插值ZI.
mesh(XI,YI, ZI) %作二元拟合图形.
xlabel('x'), ylabel('y'), zlabel('z'),
title('用最近邻内插法拟合函数z =7-3 x^3 exp(-x^2 - y^2) 的曲面和节点的图形')
%legend('拟合曲面','节点(xi,yi,zi)')
hold on %在当前图形上添加新图形.
plot3(X,Y,Z, 'bo') %用兰色小圆圈画出每个节点(X,Y,Z). hold of %结束在当前图形上添加新图形.
运行后屏幕显示用最近邻内插法拟合函数Z=7-3x3e在两组不同节点处的曲面及其插值ZI(略).
(2)三角基线性内插法.
输入程序
>> x=rand(50,1);
y=rand(50,1); %生成50个一元均匀分布随机数x和y, x,y .
X=-3+(3-(-3))*x;%利用x生成 上的随机变量.
Y=-2.5+(3.5-(-2.5))*y; %利用y生成 上的随机变量.
Z=7-3* X.^3 .* exp(-X.^2 - Y.^2); %在每个随机点(X,Y)处计算Z的值.
X1=-3:0.2:3;
Y1=-2.5:0.2:3.5;
[XI,YI] = meshgrid(X1,Y1); %将坐标(XI,YI)网格化.
-x2 -y23-x2 -y2
下一篇:入党志愿书填写参考模板