1、实验四 绘图求解可视化的一般步骤步 骤 典 型 指 令曲线数据准备 先取一个参变量采样向量 然后计算各坐标数据向量t=pi*(0:100)/100;%参变量采样 向量x=f1(t);y=f2(t);z=f3(t);1准备绘图数据 三维曲面数据 产生自变量采样向量 产生自变量“格点”矩阵 计算自变量“格点”矩阵相应的函数值矩阵x=x1:dx:x2; %自变量采样向量y=y1:dy:y2; %自变量采样向量X,Y=meshgrid(x,y); %格点矩 阵Z=f(X,Y); %计算函数矩阵2选定图形窗及子图位置: 缺省时,打开 Figure No.01,或当前窗,当前子图 可用指令指定图形窗号和子
2、图号figure(1) %指定 1 号图形窗subplot(2,2,3) %指定三号子图调用二维、三维曲线绘图指令:线型、色彩、数据点形plot(x,y,r:) %用红虚点画二维线plot3(x,y,z,b-) %用兰色实线画曲线3调用三维曲面绘图指令 mesh(X,Y,Z)4 设置轴的范围、坐标分格线 axis(x1,x2,y1,y2) %平面坐标 范围 axis(x1,x2,y1,y2,z1,z2) %三维grid on %坐标分格线5 图形注释:图名、坐标名、图例、文字说明tiitle(调制波形) %图名xlabel(t);ylabel(y) %轴名legend(sin(t),sin(t
3、)sin(9t)%图例text(2,0.5,y=sin(t)sin(9t) %文字说明6 着色、明暗、灯光、材质处理(仅对三维图形使用)colomap,shading,light,material7 视点、三度(横、纵、高)比(仅对三维图形使用)view,aspect8 图形的精细操作(图柄操作): 利用对象属性值设置 利用图形窗工具条进行get,set1 用图形表示连续调制波形y=sin(t)sin(9t) ,过零点及其包络线,如下图所示。考查知识点二维曲线的绘制plot、多次叠绘hold ont=(0:pi/100:pi); %长度为 101 的时间采样列向量y1=sin(t)*1,-1;
4、 %包络线函数值,是(101x2)的矩阵y2=sin(t).*sin(9*t); %长度为 101 的调制波列向量t3=pi*(0:9)/9; %过零点的横坐标 y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo)axis(0,pi,-1,1) %控制轴的范围 0 0.5 1 1.5 2 2.5 3-1-0.8-0.6-0.4-0.200.20.40.60.812、画出 所表示的三维曲面、网线图。 的取值范围2)sin(yxz yx,是 。如下图所示。8,考查知识点三维曲面、网线的绘制,子图的划分【法一】数据可视化第一步:准备绘图数据最终得到
5、x,y,z 的坐标矩阵clear;clf;x = linspace(-8,8,30);%产生坐标向量y =x; %产生坐标向量X,Y = meshgrid(x,y); %由坐标向量产生坐标矩阵meshgrid Z = sin(sqrt(X.2+Y.2) ./ sqrt(X.2+Y.2);%将 X、Y 代入函数中计算 Y,数组运算 第二步:指明三维曲面绘图位置subplot(1,2,1); 第三步:调用三维曲面绘图指令surf 绘图surf(X,Y,Z)第二步:指明三维网线绘图位置subplot(1,2,2);第三步:调用三维网线绘图指令mesh 绘图mesh(X,Y,Z) 3、分别绘制上题中三
6、维曲面的镂空图和切面图。镂空图要求将 z0.6部分镂空,而切面图要求将|x|6 或|y|6 部分切平。如下图所示。考查知识点三维曲面、网线的绘制,子图的划分、三维曲面的镂空、裁切处理 可利用利用“非数”NaN,对图形进行剪切处理 如果为了看清图形而需要表现切面,那么应该把被切部分强制为零。x = linspace(-8,8,30);y =x;X,Y = meshgrid(x,y);Z = sin(sqrt(X.2+Y.2) ./ sqrt(X.2+Y.2);subplot(2,1,1); surf(X,Y,Z); shading interpZ1 = Z; Z2 =Z;i1 = find(Z0
7、.6); i2 = find(abs(X)6|abs(Y)6);Z1(i1) = nan; Z2(i2) = 0;subplot(2,2,3); surf(X,Y,Z1); shading interpsubplot(2,2,4); surf(X,Y,Z2); shading interp 4、绘制环面: uzvyuxsin)2,0(sin)co1( (提示:着色方式选择插值方式,色图选择夏天,取消坐标轴)u = 0:0.01*pi:2*pi;v=u;U,V = meshgrid(u,v);x = (1+cos(U).*cos(V);y = (1+cos(U).*sin(V);z = sin(
8、U);surf(x,y,z)shading interpcolormap(summer)axis off 5、在同一图像上画一单位球面,和一半径为 2 的三维网线球,实现单位球面的透视效果。如下图所示。考查知识点图形的透视 hidden off 透视被叠压的图形 hidden on 消隐被叠压的图形X0,Y0,Z0=sphere(30); %产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0;%产生半径为 2 的球面的三维坐标clf,surf(X0,Y0,Z0); %画单位球面shading interp %采用插补明暗处理hold on,mesh(X,Y,Z)hold offhidden off %产生透视效果axis equal,axis off %不显示坐标轴