matlab三维绘图

合集下载

MATLAB三维图形绘制

MATLAB三维图形绘制

3. 三维曲面图
语法: surf (z) %画三维曲面图 surf (x,y, z,c) 说明:参数设置与mesh命令相同,c也可以省略。
4. 其它立体网线图和曲面图
meshc命令为立体网状图加等高线;meshz为立体网 状图加“围裙”。
三、绘制三维旋转体
1、球面图
语法: sphere (n) %产生单位球面,n为旋转圆周上的分 格线条数,默认n=20。 [x,y,z]=sphere (n) %生成三个(n+1)*(n+1 )阶的矩阵 利用surf或mesh命令产生单位球面。
2. 输出信息对话框 (1) 消息框
语法: msgbox(message,title,icon,icondata,iconcmap,… CreateMode) %创建消息框
说明:message为显示的信息,可以是字符串或数组;title为标题,是 字符串可省略;icon为显示的图标,可取值为“none”(无图标)、 “error”(出错图标)、“help”(帮助图标)、“warn”(警告图标)或 “custom”(自定义图标),也可省略;当使用“custom”时,用icondata 定义图标的数据,用iconcmap定义图标的颜色映象;CreateMode为对 话框的产生模式可省略,取值为“modal”(有模式)、“replace”(无模式 可代替同名的对话框)、“non-modal”(默认为无模式)。 (有模式对话框是指在对话框关闭之前,用户无法进行其它程序的运行)
2. feather命令
feather绘制的是起点为(k,0)的复向量图,又称为羽毛图。 语法: feather(u,v) %画羽毛图 feather (Z)
4.4 对话框
• ——用于计算机与用户进行交互的界面

使用matlab绘制三维图形的方法

使用matlab绘制三维图形的方法

使用matlab绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。

下面将介绍一些常用的绘制三维图形的方法。

1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。

- scatter3(函数:用于在三维坐标系中绘制散点图。

- surf(函数:用于绘制三维曲面图。

- mesh(函数:用于绘制三维网格图。

- bar3(函数:用于绘制三维条形图。

- contour3(函数:用于绘制三维等高线图。

例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。

MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。

- caxis(函数:用于设置坐标轴范围。

- shading(函数:用于设置颜色插值方法。

- texturemap(函数:用于设置纹理映射方法。

例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。

Matlab三维立体画图

Matlab三维立体画图

atlab 三维画图(2011-04-12 21:11:26) 转载▼标签: matlab 三维图分类: 课程学习今天被matlab 画三维图给整疯掉了,想通过三角形两边的变化求一边对角的变化函数图,但是matlab 中说这是complex ,无法画图,我就想限制值域,这样就是一对一的函数了,但是matlab 不知道怎么实现,网上查了查也没找到。

就先放一放再说吧。

不过过程中发现matlab 画出的图还是很强大且漂亮的。

附上两张: 1、mesh 函数[x, y]=meshgrid(-4:.2:4); R=sqrt(x.^2+y.^2); z=-cos(R); mesh(x,y,z)xlabel('x\in[-4,4]','fontweight','bold'); ylabel('y\in[-4,4]','fontweight','bold');zlabel('z=-cos(sqrt(x^2+y^2))','fontweight','bold');title('旋转曲面','fontsize',15,'fontweight','bold','fontname','隶书');二、meshc 函数其他不变,把上面代码中的mash 换成mashc ,得到的图如下,在网孔线下方绘制了轮廓线。

三、mashz函数Matlab 三维作图1 画一个可透视的椭球figurea = 15;b = 10;c = 5;k = 5;n = 2^k-1;theta = pi*(-n:2:n)/n;phi = (pi/2)*(-n:2:n)'/n;X = a*cos(phi)*cos(theta);Y = b*cos(phi)*sin(theta);Z = c*sin(phi)*ones(size(theta));surf(X,Y,Z,'FaceColor','interp',...'EdgeColor','none',...'FaceLighting','phong')axis tightcamlight leftalpha(.33) % 产生透视效果这是在7.1.上画的图:....................建立空间等高线[X,Y] = meshgrid([-2:.25:2]); Z = X.*exp(-X.^2-Y.^2);contour3(X,Y,Z,30)h = findobj('Type','patch');set(h,'LineWidth',2)title(' 空间等高线')..................§4.2 三维作图§4.2.1 mesh(Z)语句mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数据的大型矩阵,也可用来绘制Z变量函数.显示两变量的函数Z=f(x,y),第一步需产生特定的行和列的x-y矩阵.然后计算函数在各网格点上的值.最后用mesh函数输出.下面我们绘制sin(r)/r函数的图形.建立图形用以下方法:x=-8:.5:8;y=x';x=ones(size(y))*x;y=y*ones(size(y))';R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;mesh(z) %% 试运行mesh(x,y,z),看看与mesh(z)有什么不同之处?各语句的意义是:首先建立行向量x,列向量y;然后按向量的长度建立1-矩阵;用向量乘以产生的1-矩阵,生成网格矩阵,它们的值对应于x-y坐标平面;接下来计算各网格点的半径;最后计算函数值矩阵Z.用mesh函数即可以得到图形.图4.2.1三维消隐图第一条语句x的赋值为定义域,在其上估计函数;第三条语句建立一个重复行的x矩阵,第四条语句产生y的响应,第五条语句产生矩阵R(其元素为各网格点到原点的距离).用mesh方法结果如上.另外,上述命令系列中的前4行可用以下一条命令替代:[x, y]=meshgrid(-8:0.5:8)§4.2.2与mesh相关的几个函数(1) meshc与函数mesh的调用方式相同,只是该函数在mesh的基础上又增加了绘制相应等高线的功能.下面来看一个meshc的例子:[x,y]=meshgrid([-4:.5:4]);z=sqrt(x.^2+y.^2);meshc(z) %% 试运行meshc(x,y,z),看看与meshc(z)有什么不同之处?我们可以得到图形:图4.2.2.1 meshc图地面上的圆圈就是上面图形的等高线.(2)函数meshz与mesh的调用方式也相同,不同的是该函数在mesh函数的作用之上增加了屏蔽作用,即增加了边界面屏蔽.例如:[x,y]=meshgrid([-4:.5:4]);z=sqrt(x.^2+y.^2);meshz(z) %% 试运行meshz(x,y,z),看看与meshz(z)有什么不同之处?我们得到图形:图4.2.2.2 meshz图§4.2.3其它的几个三维绘图函数(1)在Matlab中有一个专门绘制圆球体的函数sphere,其调用格式如下:[x,y,z]=sphere(n)此函数生成三个(n+1)×(n+1)阶的矩阵,再利用函数surf(x,y,z)可生成单位球面.[x,y,z]=sphere 此形式使用了默认值n=20sphere(n) 只绘制球面图,不返回值.运行下面程序:sphere(30);axis square;我们得到球体图形:图4.2.3.1 球面图若只输入sphere画图,则是默认了n=20的情况.(2) surf函数也是Matlab中常用的三维绘图函数.其调用格式如下:surf(x,y,z,c)输入参数的设置与mesh相同,不同的是mesh函数绘制的是一网格图,而surf绘制的是着色的三维表面.Matlab语言对表面进行着色的方法是,在得到相应网格后,对每一网格依据该网格所代表的节点的色值(由变量c控制),来定义这一网格的颜色.若不输入c,则默认为c=z.我们看下面的例子:%绘制地球表面的气温分布示意图.[a,b,c]=sphere(40);t=abs(c); %求绝对值surf(a,b,c,t);axis equalcolormap('hot')我们可以得到图形如下:图4.2.3.2 等温线示意图§4.2.4图形的控制与修饰(1)坐标轴的控制函数axis,调用格式如下:axis([xmin,xmax,ymin,ymax,zmin,zmax])用此命令可以控制坐标轴的范围.与axis相关的几条常用命令还有:axis auto 自动模式,使得图形的坐标范围满足图中一切图元素axis equal 严格控制各坐标的分度使其相等axis square 使绘图区为正方形axis on 恢复对坐标轴的一切设置axis off 取消对坐标轴的一切设置axis manual 以当前的坐标限制图形的绘制(2)grid on 在图形中绘制坐标网格.grid off 取消坐标网格.(3)xlabel, ylabel, zlabel分别为x轴, y轴, z轴添加标注.title为图形添加标题.以上函数的调用格式大同小异,我们以xlabel为例进行介绍:xlabel('标注文本','属性1','属性值1','属性2','属性值2',…)这里的属性是标注文本的属性,包括字体大小、字体名、字体粗细等.例如:[x, y]=meshgrid(-4:.2:4);R=sqrt(x.^2+y.^2);z=-cos(R);mesh(x,y,z)xlabel('x\in[-4,4]','fontweight','bold');ylabel('y\in[-4,4]','fontweight','bold');zlabel('z=-cos(sqrt(x^2+y^2))','fontweight','bold');title('旋转曲面','fontsize',15,'fontweight','bold','fontname','隶书');图4.2.4.1添加标注。

MATLAB-图像处理之三维绘图

MATLAB-图像处理之三维绘图

(2)颜色映象使用
• 语句colormap(M)将矩阵M作为当前图形 窗口所用的颜色映象。
• 例如,colormap(cool)装入了一个有64 个输入项的cool颜色映象。
• colormap default装入了缺省的颜色映象 (hsv)。
• 函数plot、plot3、contour(等高线图) 和contour3不使用颜色映象,它们使用列 在plot颜色和线形表中的颜色。而大多数其 它绘图函数,比如mesh、surf、fill、 pcolor和它们的各种变形函数,使用当前 的颜色映象。

MMSHOW(pink(30))
• 函数mmshow取和colormap同样的输入参 量,但在这种情况下它用自己的伪彩色显 示而不是把颜色映象施加到当前图形。
• 另一种途径是使用MATLAB的函数rgbplot, 它可以把颜色映象的各列分别画成红、绿 和蓝色。
例如rgbplot(hot)
• 图中显示红色分量首先增加,然后是绿色, 最后是蓝色。
2.三维曲面/网线图
三维图形较二维图形复杂:表现在: 1. 数据的准备 2. 三维图形色彩的使用 3. 明暗处理、 4. 光照处理、 5. 视点处理等
(1)数据准备(很重要)
• 画函数 z f (x, y)所代表的三维空间曲面,需 要做以下数据准备: :
• (1)确定自变量的取值范围和取值间隔; • (2)构成自变量x,y的自变量“格点”矩阵; • (3)计算在自变量采样“格点”上的函数
• MATLAB的预定义色图矩阵CM
CM
含义
CM
含义
autumn 红、黄浓淡色
jet
蓝头红尾饱和值色
bone
蓝色调浓淡色

MATLAB中的三维图形绘制与动画制作技巧

MATLAB中的三维图形绘制与动画制作技巧

MATLAB中的三维图形绘制与动画制作技巧引言MATLAB是一种强大的科学计算软件,广泛应用于工程、物理、数学等各个领域。

其中,三维图形绘制和动画制作是其功能的重要一部分。

本文将深入探讨MATLAB中三维图形绘制与动画制作的技巧,并给出一些实用的示例。

一、三维图形绘制1. 坐标系的设定在绘制三维图形之前,我们需要设定坐标系。

通过使用MATLAB的figure函数和axes函数,我们可以创建一个三维坐标系,并设置其属性,如坐标轴的范围、标签等。

2. 点的绘制在三维图形中,最基本的图元是点。

通过scatter3函数,我们可以绘制出一系列点的三维分布情况。

可以通过设置点的大小、颜色、透明度等属性,增加图像的美观性。

3. 曲线的绘制MATLAB提供了多种绘制曲线的函数,如plot3、line、quiver等。

通过这些函数,我们可以绘制各种样式的曲线,例如直线、曲线、矢量、流线等。

我们可以根据需要设置线条的样式、颜色、宽度等属性。

4. 曲面的绘制除了曲线,我们还可以绘制三维曲面。

通过函数mesh、surf和contour,我们可以绘制出具有平滑外形的曲面。

可以通过设置颜色映射和透明度等属性,使得曲面具有更加细腻的外观。

二、动画制作1. 创建动画对象要制作动画,我们需要先创建一个动画对象。

通过使用MATLAB的videoWriter函数,我们可以创建一个视频文件,并设置其参数,如帧率、分辨率等。

2. 绘制关键帧动画的核心是绘制一系列关键帧,并在每一帧之间进行插值。

通过在每一帧中修改图形对象的属性,我们可以实现对象的平移、旋转和缩放等变换。

通过MATLAB提供的getframe函数,我们可以将当前图像存储为一个帧对象。

3. 帧之间的插值在关键帧之间,我们需要进行插值,以平滑动画的过渡。

通过使用MATLAB 的linspace函数,我们可以生成两个关键帧之间的若干插值。

然后,我们可以在每个插值处更新图形对象的属性,从而实现动画效果。

MATLAB三维绘图

MATLAB三维绘图

第3章MA TALB三维绘图 (2)3.1 三维绘图基本流程 (2)3.2三维折线及曲线的绘制 (3)3.2.1 三维折线及曲线的基本绘图命令 (3)3.1.2三维图形的坐标标记及图形标题 (5)3.2 三维网格曲面的绘制 (6)3.2.1 栅格数据点的产生 (6)3.2.2 网格曲面的绘制命令 (8)3.2.3 隐藏线的显示和关闭 (10)3.3 三维阴影曲面的绘制 (11)3.3.1 阴影曲面绘制命令surf (11)3.3.2 带有等高线的阴影曲面绘制命令surf (14)3.3.3 具有光照效果的阴影曲面绘制命令surfl (15)3.4 三维图形的调控 (16)3.4.1 设置视点位置 (16)3.4.2 设置坐标轴 (17)3.5 特殊三维图形的绘制 (18)3.5.1 柱状图 (18)3.5.1.1 垂直放置的三维直方图 (18)3.5.1.2 水平放置的三维直方图 (19)3.5.2 圆柱体 (20)3.5.3 饼状图 (21)3.5.4 球面 (22)3.5.5 三维等高线 (23)3.5.6 三维离散序列图 (24)3.5.7简易函数绘图 (25)第3章MATALB三维绘图我们生活在三维空间中,现实中所遇到的一些问题,特别是科学计算及工程应用中的一些问题,往往都可以抽象为三维空间的问题。

前一章所介绍的二维图形,不便于反映三维空间的实际情况,所以在实际工作中有时需要绘出三维图形,而且三维图形看起来更加直观,也更美观。

本章主要介绍MA TLAB提供的一些三维绘图命令及其使用方法,具体包括:创建三维图形的基本流程、三维折线及曲线的绘制、三维曲面的绘制及图形的调控方式等。

3.1 三维绘图基本流程MA TLAB中的三维图形包括三维折线及曲线图、三维曲面图等。

创建三维图形和创建二维图形的过程类似,都包括数据准备、绘图区选择、绘图、设置和标注,以及图形的打印或输出。

不过,三维图形能够设置和标注更多的元素,如颜色过渡、光照和视角等。

第04讲 MATLAB绘三维图

第04讲  MATLAB绘三维图

第四讲M A T L A B可视化(二)绘三维图【目录】一、三维图形绘制步骤 (1)二、三维绘图基本操作 (1)1、三维线图 (2)2、三维网线图 (3)3、三维曲面图 (4)三、透视、镂空和裁切 (5)1、图形的透视 (5)2、图形的镂空 (5)3、图形的裁切 (7)四、三维图形的精细控制 (8)1、视点与旋动 (8)2、色彩控制 (9)3、浓淡处理 (11)五、照明和材质处理 (12)六、简洁绘图指令 (13)【正文】一、三维图形绘制步骤步骤典型指令1三维曲线数据:先取一个参变量采样向量然后计算各坐标数据向量t=p i*(0:100)/100;x=f1(t);y=f2(t);z=f3(t);三维曲面数据:产生自变量采样向量;由自变量向量产生格点矩阵;计算格点矩阵相对应的函数值矩阵x=x1:d x:x2;y=y1:d y:y2;[X,Y]=m e s h g r i d(x,y);Z=f(x,y);2选定图形窗及子窗位置:同二维3调用三维曲线绘图指令:线型、色彩、数据点形p l o t3(x,y,z,'b-')调用三维曲面绘图指令M e s h(X,Y,Z);4设置轴的范围与刻度、坐标分隔线同二维5图形注释:图名、坐标名、图例、文字同二维6着色、明暗、灯光、材质处理c o l o r m a p,s h a d i n g,l i g h t,m a t e r i a l 7视点、三度(横、纵、高)比v i e w,a s p e c t二、三维绘图基本操作11、三维线图用来画三维曲线,三维曲线与一组(x,y,z)坐标相对应的点连接而成。

绘图格式为:p l o t3(X,Y,Z,'s')p l o t3(X1,Y1,Z1,'s1',X2,Y2,Z2,'s2',...)(1)X、Y、Z是同维向量时,则绘制以X、Y、Z元素为x、y、z 坐标的三维曲线;(2)X、Y、Z是同维矩阵时,则以X、Y、Z对应列元素为x、y、z坐标绘制多条曲线,曲线条数等于矩阵的列数;(3)(X1,Y1,Z1,'s1')与(X2,Y2,Z2,'s2')的结构与作用和(X,Y,Z,'s')相同,表示同一指令绘两组以上曲线;(4)s、s1、s2的意义与二维相同。

Matlab 三维立体绘图

Matlab 三维立体绘图
1 0 Z2 1 2 3 0 2 1 1 1 2 1 2 2 3 2 3 3 3 4 4 4 5 5 6
– 請劃出其網狀圖形,並標示x座標、y座標以及給定的 點座標。 – 請劃出其曲面圖形,並標示x座標、y座標以及給定的 點座標。
8
4-1 基本立體繪圖指令
1 2 3 4
0 3 4 7
2 2 4 6
% 標示曲面高度
set(h, 'hori', 'center', 'vertical', 'bottom', 'color', 'r'); % 改變位置及顏色
5
3
1 4 4 8
4-1 基本立體繪圖指令
– 範例4-2 :plotxyz002.m
8
8 7 6
6 4 4 4 4
– 範例4-5 :plotxyz02.m surf 和 mesh 指令的用法類似
x = linspace(-2, 2, 25); y = linspace(-2, 2, 25); % 在 x 軸 [-2,2] 之間取 25 點 % 在 y 軸 [-2,2] 之間取 25 點
[xx,yy] = meshgrid(x, y);
2
Matrix Indexing Coordinate
• Conversion from matrix indexing to x-y coordinates
– Jx – Iy
1
j (= x)
2
1 2 3 4
0 3 4 7
2 2 4 6
3
1 4 4 8
(i, j) = (3, 2)
A(4,3)=8 A(3,2)=4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例4-34 利用rotate函数,从不同角度查看函数 z xe
x y
2
2
t=-2:.1:2; [x,y]=meshgrid(t); z=x.*exp(-x.^2-y.^2); subplot(121),mesh(x,y,z); subplot(122),h=mesh(x,y,z) rotate(h,[-2,-2,0],30,[2,2,0])
透视控制命令hidden
Matlab在绘制三维网线图和曲面图时,一般进行消 隐处理,为得到透视效果,用以下命令:

hidden on 消隐被遮挡的图形 hidden off 透视被遮挡的图形
[x0,y0,z0]=sphere(30); X=2*x0;Y=2*y0;Z=2*z0; surf(x0,y0,z0); %画里面的小球 shading interp %使用插值的方式进行着色 hold on,mesh(X,Y,Z),colormap(hot), hold off hidden off %透视外面大球看到里面小球 axis equal,axis off %坐标轴三个方向上刻度增量相同,并消隐坐标轴
见P70 例4-36
图形颜色控制命令colormap

colormap([R,G,B]) 用单色绘图, [R,G,B]代表一 个配色方案,取值在[0,1]之间。通过对R、G、B大 小的设置,可以调制出不同的颜色。p71表4-5 colormap(CM) CM为色图矩阵。色图为m*3的矩 阵。Matlab预定义了一些色图矩阵的值,表4-6为 常用的色图矩阵。
北京科技大学数学实验
北京科技大学数学实验

用平行截面法讨论由方程构成的马鞍面形状。
解:Matlab命令为
t=-10:0.1:10; [x,y]=meshgrid(t); z1=(x.^2-2*y.^2)+eps; subplot(1,3,1),mesh(x,y,z1),title('马鞍面') a=input('a=(-50<a<50)'), z2=a*ones(size(x)); subplot(1,3,2),mesh(x,y,z2),title('平面') r0=abs(z1-z2)<=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x; subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'x') title('交线')
X= 1 1 1 1 2 2 2 2 3 3 3 3
Y=
1 2 3 4
1 2 3 4
1 2 3 4
北京科技大学数学实验

mesh——三维网格线绘图命令
利用函数meshgrid生成格点矩阵后,再求出各格
点对应的函数值,就可以利用三维网格命 mesh画出 空间网格曲面。 mesh(Z) -------Z为nm矩阵,X,Y坐标为元素
光照控制命令light
Matlab提供了许多函数在图形中进行对光源的定 位并改变光照对象的特征,见P73表4-7.其中light函 数用于设置光源。


light(‘propertyname’,propertyvalue,…)创建光源 并设置其属性 handle=light(…) 返回所创建光源的句柄

z=peaks(20); CM=cool; %CM=[hot;pink]; %用两个已知的色图构成新的色图 surf(z) colormap(CM) colorbar %显示色度条
图形着色控制命令shading

shading flat
使用平滑方式着色。网格图的某条线段或曲面图中的某 整个贴片都是一种颜色,该颜色取值线段的两端或者该贴片 4个顶点中下标最小那点的颜色。


作业:P79
5,7,8,9

北京科技大学数学实验

x t s in t 例:绘制三维曲线的图像: y t c o s t z t
(0 t 20 )
解:matlab命令为:
t=0:pi/10:20*pi; x=t.*sin(t); y=t.*cos(t) ; z=t; plot3(x,y,z)
%返回图形对象的句柄
subplot(121),surf(ones(10,10)) %subplot(122),h = surf(ones(10,10));rotate(h,[0 0 1],45,[1 0 0])
for i=1:45 subplot(122),h = surf(ones(10,10));rotate(h,[0 0 1],i,[1 0 0]) end
北京科技大学数学实验
三、MATLAB三维曲面绘图

meshgrid——生成网格矩阵 调用格式:

[X,Y]=meshgrid(x,y)--------生成小矩形顶点的坐
标值矩阵

[X,Y]=meshgrid(x) 等价于[X,Y]=meshgrid(x,x)
北京科技大学数学实验
例:x=[1,2,3];y=[1,2,3,4]; [X,Y]=meshgrid(x,y)

rotate3d
动态旋转命令,可以让用户使用鼠标来旋转视角
背景颜色控制命令colordef


colordef white 将图形的背景颜色设置为白色 colordef black colordef none 将图形背景和图形窗口的颜色设 置为默认的颜色 colordef (fig,color_option) 将图形句柄fig图形的背 景设置为color_option指定的颜色

的下标

mesh(X,Y,Z)-------X,Y,Z分别为三维空间的坐标
北京科技大学数学实验
例:x=[1,2,3] y=[1,2,3,4] [X,Y]=meshgri3 3 3 3 Y =1 2 3 4 1 2 3 4 1 2 3 4
Z=ones(size(X));mesh(X,Y,Z)
比较指令mesh和surf。 解:matlab命令为:
t=-2:0.1:2; [x,y]=meshgrid(t); z=x.*exp(-x.^2-y.^2); subplot(1,2,1),mesh(x,y,z),title('网格图') subplot(1,2,2),surf(x,y,z),title('曲面图')
2 (3,4,1) 1.5 (2,4,1) 1 (1,4,1) (1,3,1) 0.5 (1,2,1) 0 4 3 2 1.5 1 1 2 (1,1,1) 3 2.5 (2,3,1) (2,2,1) (2,1,1) (3,3,1) (3,2,1) (3,1,1)
北京科技大学数学实验
例:
x=1:.1:3; y=1:.1:4; [X,Y]=meshgrid(x,y); Z=ones(size(X)); mesh(X,Y,Z)
z=peaks(50); subplot(121),surf(z) subplot(122),surf(z),light('position',[20,-20,5])
对象和句柄
MATLAB把构成图形的各个基本要素称为图形对象 ,包括图形窗口、坐标轴、线条、曲面、文本和其它 对象。 每一个对象都有一个数字来标识,叫做句柄。当每次 创建一个对象时,MATLAB就为它建立一个唯一的 句柄。

view([x,y,z])
笛卡尔坐标系下的视角,忽略向量的幅值
旋转控制命令rotate

rotate(h,direction,alpha,orgin)
将图形绕方向旋转一个角 度 h---表示被旋转的对象 direction--方向轴:可 用球坐标[theta,phi] 或直角坐标[x,y,z] alpha---按右手法旋转的 角度 orgin---支点
北京科技大学数学实验
马鞍面、平面及交线
北京科技大学数学实验
三维图形的控制命令
视角控制命令view

view(az,el)
设置查看三维图的 视点。az为水平方 位角,从y轴负方向 开始,逆时针旋转 为正;el为垂直方 位角,以向z轴方向 旋转为正。三维默 认视角为az=-37.5, el=30
MATLAB 绘图
北京科技大学数学实验
三维曲线绘图
三维曲面绘图
北京科技大学数学实验
二、MATLAB三维曲线绘图

plot3——三维曲线绘制指令 plot3的调用格式:
plot3(X,Y,Z) plot3(X,Y,Z,’String’) plot3(X1,Y1,Z1,’ String1’,X2,Y2,Z2,’ String2’,…) plot3与plot的 用法相同

shading interp
使用插值的方式为图形着色。网格图线段,或者曲面图 贴片上各点的颜色由该线段两端或该贴片4个顶点的颜色线 性插值所得。

shading faceted
以平面为单位进行着色,在flat用色基础上,在贴片的 四周勾出黑色网线。
subplot(131),surf(peaks(40)); subplot(132),surf(peaks(40));shading flat subplot(133),surf(peaks(40));shading interp
北京科技大学数学实验

surf ——绘制三维表面图
与三维网格图的区别:
网格图:线条有颜色,空挡没有颜色
曲面图:线条是黑色,空挡有颜色(把线条之间的 空挡填充颜色,沿z轴按每一网格变化)
北京科技大学数学实验
例:绘制函数 z xe
(x y )
相关文档
最新文档