|
|
#12
wangyou66992007-01-03 14:54
命令5 waterfall 功能 瀑布图 用法 waterfall(X,Y,Z) 用所给参数X、Y与Z的数据画一“瀑布”效果图。若X与Y都是向量,则X与Z的列相对应,Y与Z的行相对应,即length(X)=Z的列数,length(Y)=Z的行数。参数X与Y定义了x-轴与y-轴,Z定义了z-轴的高度,Z同时确定了颜色,所以颜色能恰当地反映曲面的高度。若想研究数据的列,可以输入:waterfall(Z’)或waterfall(X’,Y’,Z’) waterfall(Z) 画出一瀑布图,其中缺省地有:X=1:Z的行数,Y=1:Z的行数,且Z同时确定颜色,所以颜色能恰当地反映曲面高度。 waterfall(…,C) 用比例化的颜色值从当前色图中获得颜色,参量C决定颜色的比例,为此,必须与Z同型。系统使用一线性变换,从当前色图中获得颜色。 h = waterfall(…) 返回patch图形对象的句柄h,可用于画出图形。 例7-35 >>[X,Y,Z] = peaks(30); >>waterfall(X,Y,Z) 图形结果为图7-35。 命令6 cylinder 功能 生成圆柱图形。该命令生成一单位圆柱体的x-,y-,z-轴的坐标值。用户可以用命令surf或命令mesh画出圆柱形对象,或者用没有输出参量的形式而立即画出图形。 用法 [X,Y,Z] = cylinder 返回一半径为1、高度为1的圆柱体的x-,y-,z-轴的坐标值,圆柱体的圆周有20个距离相同的点。 [X,Y,Z] = cylinder® 返回一半径为r、高度为1的圆柱体的x-,y-,z-轴的坐标值,圆柱体的圆周有20个距离相同的点。 [X,Y,Z] = cylinder(r,n) 返回一半径为r、高度为1的圆柱体的x-,y-,z-轴的坐标值,圆柱体的圆周有指定的n个距离相同的点。 cylinder(…) 没有任何的输出参量,直接画出圆柱体。 例7-36 >>t = 0:pi/10:2*pi; >>[X,Y,Z] = cylinder(2+(cos(t)).^2); >>surf(X,Y,Z); axis square 图形结果为图7-36。 命令7 sphere 功能 生成球体 用法 sphere 生成三维直角坐标系中的单位球体。该单位球体由20*20个面。 sphere(n) 在当前坐标系中画出有n*n个面的球体 [X,Y,Z] = sphere(n) 返回三个阶数为(n+1)*(n+1)的,直角坐标系中的坐标矩阵。该命令没有画图,只是返回矩阵。用户可以用命令surf(X,Y,Z)或mesh(X,Y,Z)画出球体。 例7-37 >>[X,Y,Z]=sphere; >>mesh(X,Y,Z) >>hidden off 图形结果为图7-37。 7.2.4 三维数据的其他表现形式命令 命令1 pcolor 功能 伪彩色图。该图为一矩形单元的、由参数c定义了颜色的阵列,系统通过c中的每相邻的四点定义的曲面补片而生成一伪彩色图。是从上面向下观看的“平面”曲面图。若用户使用命令shading faceted或shading flat,则每一单元的固定颜色是与之相连的角的颜色有关的。所以,C(i,j)定义了单元的地i行与地j列的颜色。C中的最后一行与最后一列都没有用上。若用户使用命令shading interp,则每一单元的颜色是对它的四个顶点的颜色进行一双线性插值后的颜色,这时c的所有元素都参加了运算。 用法 pcolor(C) 画一伪彩色图。C中的元素都线性地映射于当前色图下标。从C映射到当前的色图是由命令colormap和caxis定义的。 pcolor(X,Y,C) 在参数x和y指定的位置上画一由C确定的为彩色图。该图为一逻辑上为矩形、带二维格栅的、顶点在[X(i,j),Y(i,j)]的图形(若X和Y为矩阵时)。参量X与Y为指定格栅线的向量或矩阵。若X与Y为向量,则X对应于C的列,而y对应于C的行;若X与Y同为矩阵,则必须为同型矩阵。该命令等价于命令:surf(X,Y,0,C),观察角度为:view([0,90])。 h = pcolor(…) 返回一surface图形对象句柄于h 例7-38 >>pcolor(magic(20)) >>colormap(gray(2)) >>axis ij;axis square 图形结果为图7-38。 命令2 quiver 功能 矢量图或速度图 用法 quiver(U,V) 在范围为x =1:n和y =1:m的坐标系中显示由U和V定义的向量,而[m,n]=size(U)=size(V),这种形式是在一个几何矩形中画出U和V的,quiver命令本身会自动地画出这些向量,使之不会重叠。 quiver(X,Y,U,V) 由向量X和Y中的分量的任意组合而成的向量与。若X与Y都是向量length(X)=n,而length(Y)=m,而[m,n]=size(U)=size(V),向量X对应于矩阵U、V的列向量,而向量Y对应于矩阵U、V的行向量。 quiver(…,scale) 自动对向量的长度进行处理。使之不会重叠,当然可以对scale进行取值,若scale=2,则向量长度伸长2倍,若scale=0,则如实画出向量图。 quiver(…,LineSpec) 可以指定画矢量图用的线型,符号,颜色,quiver命令会在原来的向量图上画出记号。 quiver(…,LineSpec,'filled') 对用LineSpec指定的记号进行填充 h = quiver(…) 返回每个向量图的句柄 例7-39 >>[z,x,y]=peaks(30); >>[Dx,Dy]=gradient(z,0.1,0.1); >>quiver(x,y,Dx,Dy) 图形结果为图7-39。 命令3 slice 功能 立体切片图。该命令显示通过立体图形的矩形切片图。 用法 slice(X,Y,Z,V,sx,sy,sz) 显示三元函数V=V(X,Y,Z)确定的超立体形在x-轴、y-轴与z-轴方向上的若干点(对应若干平面。即若函数V=V(X,Y,Z)中有一变量如X取一定值X0,则函数V=V(X0,Y,Z)变成一立体曲面(只不过是将该曲面通过颜色表示高度V,从而显示于一平面而已。)的切片图,各点的坐标由参量向量sx、sy与sz指定。参量X、参量Y与参量Z为三维数组,用于指定立方体V的坐标。参量X、Y与Z必须有单调的、正交的间隔(如同用命令meshgrid生成的一样)。在每一点上的颜色由对超立体 V的三维内插值确定。 slice(V,sx,sy,sz) 显示三元函数V=V(X,Y,Z)确定的超立体形在x-轴、y-轴与z-轴方向上的若干点(对应若干平面)的切片图,各点的坐标由数量向量sx、sy与sz指定。其中V为三维数组(阶数为m*n*p),缺省地有:X = 1:m、Y = 1:n、Z = 1:p。 slice(V,XI,YI,ZI) 显示参量矩阵XI、YI与ZI确定的、超立体图形的切面图。参量XI、YI与ZI定义了一曲面,同时会在曲面的点上计算超立体V的值。参量XI、YI与ZI必须为同型矩阵。 slice(X,Y,Z,V,XI,YI,ZI) 沿着由矩阵XI、YI与ZI定义的曲面画穿过超立体图形V的切片。 slice(…,'method') 指定内插值的方法。‘method’为如下方法之一:‘linear’、 ‘cubic’、‘nearest’: ‘linear’——指定使用三次线性内插值法(该状态为缺省的); ‘cubic’—— 指定使用三次立方内插值法; ‘nearest’——指定使用最近点内插值法。 h = slice(…) 返回一曲面图形对象的句柄向量h。 命令4 axis 功能 坐标轴的刻度与外在显示 用法 axis([xmin xmax ymin ymax]) 设置当前坐标轴的x-轴与y-轴的范围。 axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 设置当前坐标轴的x-轴、y-轴与z-轴的范围,当前颜色刻度范围。该命令也同时设置当前坐标轴的属性 Xlim、Ylim与Zlim为所给参数列表中的最大值和最小值。另外,坐标轴属性XlimMode、YlimMode与ZlimMode设置为‘manual’。 v = axis 返回一包含x-轴、y-轴与z-轴的刻度因子的行向量,其中v为一四维或六维向量,这取决于当前坐标为二维还是三维的。返回的值包含当前坐标轴的XLim、Ylim与Zlim属性值。 axis auto 设置系统到它的缺省动作——自动计算当前轴的范围,这取决于输入参量x,y与z的数据中的最大值与最小值。同时将当前坐标轴的属性XlimMode、YlimMode与ZlimMode设置为‘auto’用户可以指定对某一坐标轴进行自动操作。例如: axis ’auto x’ 将自动计算x-轴的范围; axis ’auto yz’ 将自动计算y-轴与z-轴的范围。 axis manual 、axis(axis) 把坐标固定在当前的范围,这样,若保持状态(hold)为on,后面的图形仍用相同界限。该命令设置了属性XLimMode、属性YLimMode与属性ZlimMode为manual。 axis tight 把坐标轴的范围定为数据的范围,即坐标轴中没有多余的部分。 axis fill 该命令用于将坐标轴的取值范围分别设置为绘图所用数据在相应方向上的最大、最小值。 axis ij 使用矩阵坐标系:坐标原点在左上角、横坐标(j-轴)的值从左到右增加,纵坐标(i-轴)的值从上到下增加。 axis xy使用笛卡儿坐标系(缺省):坐标原点在左下角、横坐标(x-轴)的值从左到右增加,纵坐标(y-轴)的值从下到上增加。 axis equal 设置坐标轴的纵横比,使在每个方向的数据单位都相同。其中x-轴、y-轴与z-轴将根据所给数据在各个方向的数据单位自动调整其纵横比。 axis image 效果与命令axis equal相同,只是图形区域刚好紧紧包围图象数据。 axis square 设置当前图形为正方形(或立方体形),系统将调整x-轴、y-轴与z-轴,使它们有相同的长度,同时相应地自动调整数据单位之间的增加量。 axis normal 自动调整坐标轴的纵横比,还有用于填充图形区域的、显示于坐标轴上的数据单位的纵横比。 表7-7显示由上面三个命令设置的坐标轴属性。 表7-7 命令 坐标轴属性 axis equal axis normal axis square axis tightequal DataAspectRatioMode [1 1 1] 没有设置 没有设置 [1 1 1] PlotBoxAspectRatio manual auto auto Manual PlotBoxAspectRatioMode [3 4 4] 没有设置 [1 1 1] Auto Stretch-to-fill 禁止 可行 禁止 禁止 axis vis3d 该命令将冻结坐标系此时的状态,以便进行旋转。 axis off 关闭所用坐标轴上的标记、格栅和单位标记。但保留由text和gtext设置的对象。 axis on 显示坐标轴上的标记、单位和格栅。 [mode,visibility,direction] = axis('state') 返回表明当前坐标轴的设置属性的三个字符串,见表7-8。 表7-8 输出参量 返回字符串 说明 Mode ‘’auto’或 ’manual’ 若XLimMode、YlimMode与ZlimMode都设置为auto,则mode为auto;若XLimMode、YlimMode或者ZlimMode都设置为manual,则mode为manual Visibility ‘’on’或’off’ Direction ‘’xy’或’ij’ 例7-40 >>x = 0:.025:pi/2; >>plot(x,exp(x).*sin(2*x),'-m<') >>axis([0 pi/2 0 5]) 图形结果为图7-40。
|