实验五多元函数的图像.docx
- 文档编号:5143898
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:31
- 大小:1.20MB
实验五多元函数的图像.docx
《实验五多元函数的图像.docx》由会员分享,可在线阅读,更多相关《实验五多元函数的图像.docx(31页珍藏版)》请在冰豆网上搜索。
实验五多元函数的图像
实验五-多元函数的图像
实验五二元函数的图形
练习1画出函数
的图形,其中
,用MATLAB作图的程序如下:
(1)三维网线图
语法:
mesh(X,Y,Z)
clear;
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
mesh(X,Y,Z)
(2)三维曲面图
语法:
surf(X,Y,Z)
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
surf(X,Y,Z)
(5)色彩控制colormap
命令
功能
hsv
默认
hot
暖色
cool
冷色
Summer
夏天色彩
gray
灰色
copper
铜色
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
surf(X,Y,Z)
colormap(hot)
colormap(spring)
(6)浓淡处理shading.
命令
功能
shadinginterp
连续着色,细腻但费时
Shadingflat
小片为一种颜色
Shadingfaceted
小片交接边勾画黑色,立体表现力强
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
surf(X,Y,Z)
colormap(spring)
shadinginterp
(7)亮度处理brighten
brighten(a),
时,色图加亮,当
时,色图变暗。
二.如果画等高线,需用coutour,contour3命令,其中coutour命令画二维等高线,contour3命令画三维等高线。
相应命令为:
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
contour(X,Y,Z,10)%画10条等高线;
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
contour3(X,Y,Z,10)%画10条等高线;
xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');
title('Contour3ofSurface')
gridon
如果要画
的等高线,则:
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
contour(X,Y,Z,[11])%画z=1的等高线;
holdon
contour(X,Y,Z,[22])
用clabel(cs,h)为等高线图[cs,h]标上高度
clear;closeall
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);%产生x,y的网格矩阵;
Z=sqrt(X.^2+Y.^2);
[cs,h]=contour(X,Y,Z,10);%画10条等高线;
clabel(cs,h)
三、符号ezmesh,ezsurf作图
语法:
ezmesh('函数',[xmin,xmax,ymin,ymax])
ezsurf('函数',[xmin,xmax,ymin,ymax])
例如:
clear;close;
ezmesh('sqrt(x^2+y^2)',[-3,3,-3,3])
clear;close;
ezsurf('sqrt(x^2+y^2)',[-3,3,-3,3])
clear;closeall;
ezcontour('sqrt(x^2+y^2)')
clear;closeall;
ezcontourf('sqrt(x^2+y^2)')
练习2二次曲面的方程如下:
讨论参数
对其形状的影响。
编写M-脚本文件:
a=input('a=');
b=input('b=');
c=input('c=');
d=input('d=');
N=input('N=');
x=linspace(-abs(a),abs(a),N);
y=linspace(-abs(b),abs(b),N);
[X,Y]=meshgrid(x,y);
z=abs(c)*sqrt(d-Y.^2/b^2-X.^2/a^2);
u=1;
z1=real(z);
fork=2:
N-1
forj=2:
N-1
ifimag(z(k,j))~=0
z1(k,j)=0;
end
ifall(imag(z([k-1:
k+1],[j-1:
j+1])))~=0
z1(k,j)=NaN;
end
end
end
surf(X,Y,z1)
holdon
ifu==1
z2=-z1;
surf(X,Y,z2);
axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
end
xlabel('x');ylabel('y');zlabel('z')
holdoff
a=input('a=');
b=input('b=');
c=input('c=');
d=input('d=');
N=input('N='):
x=linspace(-abs(a),abs(a),N);
y=linspace(-abs(b),abs(b),N);
[X,Y]=meshgrid(x,y);
z=abs(c)*sqrt(d-y.^2/b^2-x.^2/a^2);
u=1;
z1=real(z);
fork=2:
N-1
forj=2:
N-1
ifimag(z(k,j))~=0
z1(k,j)=0;
end
ifall(imag(z([k-1:
k+1],[j-1:
j+1])))~=0
z1(k,j)=NaN;
end
end
end
surf(x,y,z1)
holdon
ifu==-1
z2=-z1;
surf(x,y,z2);
axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
end
xlabel('x');ylabel('y');zlabel('z')
holdoff
保存为ex0502
在命令窗口中运行得
ex0502
a=5
b=4
c=3
d=1
N=100
ex0502
a=5*i;
b=4
c=3
d=1
N=100
练习3编写求空间两任意曲面交线的程序。
解:
[x,y]=meshgrid(-2:
0.1:
2,-2:
0.1:
2);
z1=x.^2-2*y.^2;
z2=2*x-3*y;
mesh(x,y,z1)
holdon
mesh(x,y,z2)
练习5已知曲面上一些点(2,2,80),(3,2,82),(4,2,84),(0,3,79),(2,3,61),(3,3,65),(0,4,84),(1,4,84),(4,4,86),将这些点用二元函数的插值的方法画出完整的曲面。
clear;
x=[2,3,4,0,2,3,0,1,4];
y=[2,2,2,3,3,3,4,4,4];
z=[80,82,84,79,61,65,84,84,86];
stem3(x,y,z);
title('Rawdata');
xlabel('x'),ylabel('y'),zlabel('z')
用插值方法画出完整的曲面。
xi=0:
0.01:
4;
yi=2:
0.01:
4;
[X,Y]=meshgrid(xi,yi);
Z=griddata(x,y,z,X,Y,'cubic');
meshc(X,Y,Z)
title('Griddata')
xlabel('x'),ylabel('y'),zlabel('z')
clear
x=[2,3,4,0,2,3,0,1,4];
y=[2,2,2,3,3,3,4,4,4];
z=[80,82,84,79,61,65,84,84,86];
xi=0:
0.1:
3;
yi=2:
0.1:
4;
[X,Y]=meshgrid(xi,yi);
Z=griddata(x,y,z,X,Y,'v4');
meshc(X,Y,Z)
title('Griddata')
xlabel('x'),ylabel('y'),zlabel('z')
练习6(海底测量)下表给出海平面上点
处水深
,这是在低潮时测得的。
如果船的吃水深度为5米,试问在矩形域
中船应避免进入哪些区域。
先确定测量点的位置:
clear;closeall;
x=[1291401088818519510515710777145162162117];
y=[7141281472213785-6-81345-6684-38];
plot(x,y,'o')
z=[48686889988949];
h=-z;
xi=75:
1:
200;
yi=-50:
1:
150;
[X,Y]=meshgrid(xi,yi);
H=griddata(x,y,h,X,Y,'v4')
mesh(X,Y,H)
contour(X,Y,H,[-5,-5],'k')
练习与思考:
1.画出空间曲面
在
范围内的图形,并画出相应的等高线。
解:
methods1:
x=-30:
0.1:
30;
y=x;
[X,Y]=meshgrid(x,y);
Z=10*sin(sqrt(X.^2+Y.^2))./(sqrt(1+X.^2+Y.^2));
mesh(X,Y,Z)
contour(X,Y,Z)
x=-30:
1:
30;
y=x;
[X,Y]=meshgrid(x,y);
Z=10*sin(sqrt(X.^2+Y.^2))./(sqrt(1+X.^2+Y.^2));
surf(X,Y,Z)
colormap(hot)
shadinginterp
method2:
clear;closeall
ezmesh('10*sin(sqrt(x^2+y^2))/(sqrt(1+x^2+y^2))',[-30,30,-30,30])
ezsurf('10*sin(sqrt(x^2+y^2))/(sqrt(1+x^2+y^2))',[-30,30,-30,30])
2.根据给定的参数方程,绘制下列曲面的图形。
1)椭圆面
ezmesh('3*cos(u)*sin(v)','2*cos(u)*cos(v)','sin(u)',[-2*pi,2*pi,-2*pi,2*pi])
ezsurf('3*cos(u)*sin(v)','2*cos(u)*cos(v)','sin(u)',[-2*pi,2*pi,-2*pi,2*pi])
shadinginterp
colormap(spring)
2)椭圆抛物面:
ezsurf('3*u*sin(v)','2*u*cos(v)','4*u^2',[-2*pi,2*pi,-2*pi,2*pi])
3)单叶双曲面
ezsurf('3*sec(u)*sin(v)','2*sec(u)*cos(v)','4*tan(u)',[0,2*pi,0,2*pi])
4)双曲抛物面
;
解:
ezmesh('u','v','(u^2-v^2)/3',[-3,3,-3,3])
5)旋转面
ezsurf('log(u)*sin(v)','log(u)*cos(v)','u',[1,10,0,2*pi])
3.在一丘陵地带测量高程,
和
方向每隔100米测一个点,得高程见下表,试拟合一曲面,确定合适的模型,并由此找出最高点和该点的高程。
x=[100100100100200200200200300300300300400400400400];
y=[100200300400100200300400100200300400100200300400];
z=[636698680662697712674626624630598552478478412334];
scatter(x,y)
stem3(x,y,z)
xi=100:
5:
400;
yi=100:
5:
400;
[X,Y]=meshgrid(xi,yi);
Z=griddata(x,y,z,X,Y,'v4');
surf(X,Y,Z)
contour(X,Y,Z,50)
contour(X,Y,Z,[721721])
>>[x,y]=ginput
(1)
x=
174.3088
y=
170.6140
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 多元 函数 图像