函数逼近与曲线(面)拟合的MATLAB程序(11)
发布时间:2021-06-06
发布时间:2021-06-06
函数逼近与曲线(面)拟合的MATLAB程序
hold on %在当前图形上添加新图形.
plot3(X,Y,Z, 'bo') %用兰色小圆圈画出每个节点(X,Y,Z). hold of %结束在当前图形上添加新图形.
运行后屏幕显示用MATLAB 4网格化坐标方法拟合函数Z=7-3x3e-x
的曲面和节点的图形及其插值ZI(略).
3222 -y2在两组不同节点处(5)作被拟合曲面Z=7-3xe-x -y和节点的图形.
输入程序
>> 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.1:3.;
Y1=-2.5:0.1:3.5;
[XI,YI] = meshgrid(X1,Y1); %将坐标(XI,YI)网格化.
ZI=7-3* XI.^3 .* exp(-XI.^2 - YI.^2);
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-x2 -y2
7.9 随机数据点上的n元拟合及其MATLAB程序
的曲面和节点的图形及其函数值ZI(略).
例7.9.1 首先利用MATLAB函数rand产生随机数据X1,Y1,Z1,然后用线性变换u at b (其中a 5,b 5)将随机数据X1,Y1 ,Z1 变换为节点坐标(X,Y,Z),再用函数
生成数据W, 用三元最近邻内插法方法计算函数w在插值点w 7 3xy(z 1)e
xi 3:0.5:10, yi 2:0.5:13,zi=yi 处拟合数据的值,并作其图形.
解 输入程序
>> X1=-5+5*rand(10,1);
Y1=-5+5*rand(10,1);
Z1=Y1;
[X,Y,Z] = meshgrid(X1,Y1,Z1);
W=7-3* X.^3 .* Y.*(Z+1).* exp(-X.^2 - Y.^2- Z.^2);
xi=-3:0.5:10;
yi=-2:0.5:13;
zi=yi;
[XI,YI,ZI] = meshgrid(xi,yi,zi);
W1=griddata3(X, Y, Z, W, XI, YI, ZI, 'nearest');
slice(XI,YI,ZI,W1,[-2 4 9.5],9,[-2 2 9]),
%shading flat
%lighting flat
xlabel('x'), ylabel('y'), zlabel('z'),
title('被拟合函数W=7-3X^3Y(Z+1)exp(-X^2 - Y^2- Z^2) '); hold on
colorbar('horiz')
view([-30 45]) 3 x2 y2 z2
下一篇:入党志愿书填写参考模板