MATLAB_的两种基本绘图功能:二维平面图形和三维立体图形绘制

本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是 说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为: (1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲 线,当x 为m× n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线。

例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)

图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可 实现它们的功能。

表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点< 小于号

m 紫: 点线o 圆s 正方形 c 青-. 点划线x 叉号d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑> 大于号

例如,在上例中输入 >> plot(x,y1,'r+-',x,y2,'k*:') 则得图5.1.2 图5.1.2 使用不同标记的plot 函数绘制的正弦曲线

5.1.2 图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 表5.1.2 图形修饰函数表

函数 含义 grid on (/off) 给当前图形标记添加(取消)网络 xlable(‘string’) 标记横坐标 ylabel(‘string’) 标记纵坐标 title(‘string’) 给图形添加标题 text(x,y,’string’) 在图形的任意位置增加说明性文本信息 gtext(‘string’) 利用鼠标添加说明性文本信息 axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值

例5.1.2 给例5.1.1 的图形中加入网络和标记。(见图5.1.3 和5.1.4) >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) >> grid on >> xlabel('independent variable X') >> ylabel('Dependent Variable Y1 & Y2') >> title('Sine and Cosine Curve') >> text(1.5,0.3,'cos(x)') >> gtext('sin(x)') >> axis([0 2*pi -0.9 0.9]) 图5.1.3 使用了图形修饰的plot 函数绘制的正弦曲线 5.1.3 图形的比较显示 在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图 形窗口。但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法: 一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上; 二是采用subplot(m,n,k)函数,将图形窗口分隔成n m× 个子图,并选择第k 个子图作为当前图形 ,然后在同一个视图窗口中画出多个小图形。

例5.1.3 在同一窗口中绘制线段。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> y3=x;

>> y4=log(x); >> plot(x,y1,x,y2) >> hold on >> plot(x,y3) >> plot(x,y4) >> hold off 例5.1.4 在多个窗口中绘制图形。(见图5.1.6) >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> y3=exp(x); >> y4=log(x); >> subplot(2,2,1); >> plot(x,y1); >> subplot(2,2,2); >> plot(x,y2); >> subplot(2,2,3); >> plot(x,y3); >> subplot(2,2,4); >> plot(x,y4);

[说明] (1)子窗口的序号按行由上往下,按列从左向右编号。 (2)如果不用指令clf 清除,以后图形将被绘制在子图形窗口中。

图5.1.6 图形的比较显示(图形窗口分割方法) 5.2 三维立体图形 5.2.1 三维曲线图 与二维图形相对应,MATLAB 提供了plot3 函数,可以在三维空间中绘制三维曲线, 它的格式类似于plot,不过多了z 方向的数据。plot3 的调用格式为:

plot3(x1,y1,z1,x2,y2,z2,...) 其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该 函数的使用方式和plot 类似,也可以采用多种的颜色或线型(见表5.1.1)来区分不同的数据 组,只需在每组变量后面加上相关字符串即可实现该功能。

例5.2.1 绘制方程x=t y=sin(t) z=cos(t)

在t=[0,2*pi]上的空间方程。(见图5.2.1) >> clf >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot3(y1,y2,x,'m:p') >> grid on >> xlabel('Dependent Variable Y1') >> ylabel('Dependent Variable Y2') >> zlabel('Independent Variable X') >> title('Sine and Cosine Curve') 图5.2.1 函数plot 绘制的三维曲线图 5.2.2 三维曲面图 如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。 mesh 函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。surf 函数和mesh 的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以 平面连接。

为方便测试立体绘图,MATLAB 提供了一个peaks 函数,它可以产生一个的高 斯分布矩阵,其生成方程是N N ×

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2) 对应的图形是一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点。 下面使用peaks 函数来比较一下mesh 和surf 的区别。

例5.2.2 分别用mesh 函数和surf 函数绘制高斯矩阵的曲面。 >> z=peaks(40); >> mesh(z); >> surf(z); 图5.2.2 mesh 函数绘制的三维曲面图 图5.2.3 surf 函数绘制的着色表面图 在曲面绘图中,另一个常用的函数是meshgrid 函数,其一般引用格式是: [X, Y]=meshgrid (x, y) 其中x 和y 是向量,通过meshgrid 函数就可将x 和y 指定的区域转换成为矩阵X 和Y。 这样我们在绘图时就可以先用meshgrid 函数产生在x-y 平面上的二维的网格数据,再以一 组z 轴的数据对应到这个二维的网格,即可画出三维的曲面。

例5.2.3 绘制方程 sin((x^2+y^2)^(1/2)) z = --------------------- (x^2+y^2)^(1/2)

在x∈[-7.5,7.5];y∈[-7.5,7.5] 的图形。 >> x=-7.5:0.5:7.5;y=x; >> [X,Y]=meshgrid(x,y); >> R=sqrt(X.^2+Y.^2)+eps; >> Z=sin(R)./R; >> surf(X,Y,Z) >> xlabel('X 轴方向') >> ylabel('Y 轴方向') >> zlabel('Z 轴方向') (见图5.2.4) 图5.2.4 例5.2.4 绘制由方程形成的立体图。(见图5.2.5) z=x*exp(-(x^2+y^2))

>> clear >> x=-2:0.1:2;y=x; >> [X,Y]=meshgrid(x,y); >> Z=X.*exp(-X.^2-Y.^2); >> surf(X,Y,Z)

合集下载

MATLAB4二维图形绘制

MATLAB4二维图形绘制
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7
y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,y3);hold on; plot(t,y4); plot(t,y5);
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7

0
figure(1) title('\fontsize{16}y(\omega)=\int^{\infty }_{0}y(t)e^{-j\omegat}dt')
二、绘制曲线的一般步骤
步骤 1 表 4.1 绘制二维、三维图形的一般步骤 内容 曲线数据准备: 对于二维曲线,横坐标和纵坐标数据变量; 对于三维曲面,矩阵参变量和对应的函数值。 指定图形窗口和子图位置: 默认时,打开 Figure No.1 窗口或当前窗口、当前子图; 也可以打开指定的图形窗口和子图。 设置曲线的绘制方式: 线型、色彩、数据点形。 设置坐标轴: 坐标的范围、刻度和坐标分格线 图形注释: 图名、坐标名、图例、文字说明 着色、明暗、灯光、材质处理(仅对三维图形使用) 视点、三度(横、纵、高)比(仅对三维图形使用) 图形的精细修饰(图形句柄操作): 利用对象属性值设置; 利用图形窗工具条进行设置。
x=peaks;plot(x) x=1:length(peaks);y=peaks;plot(x,y)
10 8 6 4 2 0 -2 -4 -6 -8
0
5
10
15
20
25
30
35
40
45
50
3. 单窗口多曲线分图绘图 subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y3) subplot(1,3,3); plot(t,y2)

第四讲 MATLAB绘图

第四讲 MATLAB绘图

希腊字母、上标、下标、数学符号、字型:
\ alpha \ beta \ gamma \ pi \ tall
\ Delta
\ delta
\ Omega
a2 a^{2} a2 a _{2} \ inf ty \ times \ oplus \ otimes
t = -pi:pi/100:pi; y = sin(t); plot(t,y) axis([-pi pi -1 1]) xlabel('-\pi \leq {\itt} \leq \pi’, 'FontSize',16) ylabel('sin(t) ', 'FontSize',16) title('Graph of the sine function') text(1,-1/3,'{\itNote the odd symmetry.}')
plot(x1, y1, 选项1, x2, y2, 选项2, …, xn, yn, 选项n) plot (x, y, ‘color_linestyle_marker’) 例 : plot (x, y, ‘y:square’)
color_linestyle_marker
Color strings are 'c', 'm', 'y', 'r', 'g', 'b', 'w', and 'k'. These correspond to cyan, magen, white, and black.
%加图形标题
xlabel('independent variable X');

第4章 MATLAB绘图

第4章  MATLAB绘图
该文档贡献者很忙什么也没留下
第4章 MATLAB绘图
——MATLAB语言丰富的图形表现 方法,使得数学计算结果可以方便 地、多样性地实现了可视化,这是 其他语言所不能比拟的。
第4章 MATLAB绘图
Matlab语言的绘图功能
• 不仅能绘制几乎所有的标准图形,而 且其表现形式也是丰富多样的。
• Matlab语言不仅具有高层绘图能力, 而且还具有底层绘图能力——句柄绘 图方法。
%加图形标题
xlabel('Variable X');
%加X轴说明
ylabel('Variable Y');
%加Y轴说明
text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置 添加图形说明
text(2.5,1.1,'曲线y2=cos(4{\pi}x)');
legend(‘y1’,‘ y2’)
第4章 MATLAB绘图
(2) 当输入参数有矩阵形式时,配对的 x,y按对应列元素为横、纵坐标分别绘 制曲线,曲线条数等于矩阵的列数。
第4章 MATLAB绘图
例4-3 分析下列程序绘制的曲线。 x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=[x1;x2;x3]'; y=[y1;y2;y3]'; plot(x,y,x1,y1-1)
程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off

第二讲 MATLAB 绘图

第二讲 MATLAB 绘图
2015-5-14 18
绘制y=1-exp(0.3*t).*cos(0.7*t)
t=6*pi*(0:100)/100; y=1-exp(-0.3*t).*cos(0.7*t); tt=t(find(abs(y-1)>0.05)); ts=max(tt); plot(t,y,'r-'); grid on; axis([0,6*pi,0.6,max(y)]); title('y=1-exp(-\alpha*t)*cos(\omega*t)'); hold on; plot(ts,0.95,'bo'); hold off; set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)]); grid on;
绘制曲线
x t cos(3t ) , t 2 y t sin t
t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).^2; plot(x,y)
2015-5-14 10
图形标识

图形标识包括:

图名(title) 坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend)
2015-5-14 22
双纵坐标:plotyy指令

plotyy指令调用格式:
plotyy(x1, y1, x2, y2)
x1-y1曲线y轴在左, x2-y2曲线y轴在右。
例3.7:
x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(x,y1,x,y2);

MATLAB二维图形绘制的基本操作

MATLAB二维图形绘制的基本操作

6、坐标轴范围的设定
axis函数 x=0:pi/30:4*pi; plot(x,sin(x)); axis([0 4*pi -2 2])
‘hexagram’ 六角星
‘square’

2、离散序列图形的绘制
(1)stem(y) 以x=1,2,3,…为各个数据点的x坐标,以y向量的各个对 应元素为y坐标,在(x,y)坐标点画一个空心小圆圈,并连接 一条线段到X轴. x=[0,1,1,2,2,3,3,4,4] y=[1,1,0,0,1,1,0,0,1] stem(x,y)
其中包含了MATLAB的各种命令 M函数文件(functions)
M文件的编辑、保存、运行
M脚本文件(scripts)
theta=-pi:0.01:pi; rho(1,:)=2*sin(5*theta).^2;
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(theta).^2; rho(4,:)=5*cos(3.5*theta).^3; for k=1:4 polar(theta, rho(k,:)) pause end
%axis([0 5 0 2])
2、离散序列图形的绘制
(2)stem(x,y,’option’) x=[0,1,1,2,2,3,3,4,4] y=[1,1,0,0,1,1,0,0,1]
stem(x,y,'r-.')
%axis([0 5 0 2])
2、离散序列图形的绘制
(3)stem(x,y) x=0:pi/30:3*pi; y=sin(x);
四、图形的绘制
1、二维图形的绘制
(1)plot(x)
当y为一向量时,以y的序号为X轴,按向量y的值绘制曲线.

上机实验1:熟悉matlab基本操作

上机实验1:熟悉matlab基本操作

上机实验1:熟悉matlab基本操作实验目的:熟悉matlab的基本操作,掌握一些常用命令的用法。

实验内容:1.编写matlab命令(函数),可以完成以下任务:(1)matlab中的PI?(=Pi)大约等于?(2)如何使用sum命令?(3)函数max的作用?举例说明。

(4)命令help,lookfor,demo的用法?102? 5.Sin6(5)计算7.Tan62。

回答以下问题:(1)matlab是什么意思?(2)matlab命令who与whos有什么区别?(3)matlab命令clear与clc有什么区别?(4)命令:与linspace,logspace的区别?计算机实验2:矩阵运算与matlab命令实验目的:熟悉matlab矩阵运算命令。

实验内容:1.请直接在Matlab下输入以下常数,查看它们的值:(1)I,J,EPS(2)inf,Nan,PI(3)realmax(4)realmin2、使用lookfor指令,找出具有下列功能的matlab指令。

(1)求矩阵的大小(即行维度和列维度)(2)找出矩阵每一直行的最大值(3)对矩阵的每一直行进行排序(4)逆矩阵(inversematrix)的计算(5)求矩阵的rank几个常见的matlab命令:*zerooneseyelinspaceranddiag\\/detinveigrank计算机实验3:MATLAB程序设计实验目的:熟悉matlab程序控制结构,掌握用m文件或函数的编写方法。

实验内容:x2x6,x0且x??4?1、f(x)的定义如下:f(x)??x2?5x?6,0?x?10,x?2且x?3,写一个matlab函x2?十、1.其他人?数字func1实现该函数,并在区间[?10,15]内绘制该函数的图像。

2.编写一个matlab函数myfun M来计算以下方程式:y=0.5*exp(x/3)-x*x*sin(x)其中x是函数的输入,Y是函数的输出。

第二章 MATLAB绘图


说明:
(1)当x,y是同维矩阵时,则以x,y对应列元素为
横、纵坐标分别绘制曲线,曲线条数等于矩阵
的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横
坐标。
(3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
对图形窗口灵活分割。请看下面的程序。
x=linspace(0,2*pi,60);
y=sin(x);z=cos(x);
t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); stairs(x,y); title('sin(x)-1');axis ([0,2*pi,-1,1]); %选择2×2个区中的1号区
2.2.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例2.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x));
再用fplot函数绘制myf.m函数的曲线:
例2.6 用图形保持功能在同一坐标内绘制曲线
y=2e-0.5xsin(2πx)及其包络线,并加网格线。
程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'b:'); axis([0,2*pi,-2,2]); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,'k'); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持

MATLAB作图(超详细)


2020/5/31
数学建模
3. 对数坐标图
在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数 可以实现双对数坐标转换,用semilogx和semilogy 函数可以实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系
单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为 中心的图形放大2倍;单击鼠标右键,则缩小2倍.
zoom off 关闭缩放模式
grid on
%标注格栅
MATLAB liti37
例 创建一个简单的半对数坐标图. 解 输入命令:
x=0:.1:10;
semilogy(x,10.^x)
MATLAB liti38
例 绘制y=x3的函数图、对数坐标图、半对数坐标图.
2020/5/31
MATLAB liti22 数学建模
返回
三维图形 1. 空间曲线 2. 空间曲面
semilogx(Y) 表示 x坐标轴是对数坐标系
semilogy(…) 表示y坐标轴是对数坐标系
plotyy 有两个y坐标轴,一个在左边,一个在右边
2020/5/31
数学建模
例 用方形标记创建一个简单的loglog.
解 输入命令:
x=logspace(-1,2);
loglog(x,exp(x),’-s’)
数学建模
返回
2. 定制坐标 Axis([xmin xmax ymin ymax zmin zmax])定制图形坐标
x、y、z的最大、最小值
Axis
将坐标轴返回到自动缺省值

第四章___matlab_绘图


例,绘制阶梯曲线 x=0:pi/20:2*pi;y=sin(x);stairs(x,y)
1
0 .8
0 .6
0 .4
0 .2
0
-0 .2
-0 .4
-0 .6
-0 .8
-1
0
1
2
3
4
5
6
7
例:阶梯绘图
h2=[1 1;1 -1];h4=[h2 h2;h2 -h2]; h8=[h4 h4;h4 -h4];t=1:8; subplot(8,1,1);stairs(t,h8(1,:));axis('off') subplot(8,1,2);stairs(t,h8(2,:));axis('off') subplot(8,1,3);stairs(t,h8(3,:));axis('off') subplot(8,1,4);stairs(t,h8(4,:));axis('off') subplot(8,1,5);stairs(t,h8(5,:));axis('off') subplot(8,1,6);stairs(t,h8(6,:));axis('off') subplot(8,1,7);stairs(t,h8(7,:));axis('off') subplot(8,1,8);stairs(t,h8(8,:));axis('off')
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4
y
y1 y2
例 3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5'])

MATLAB三维图形绘制ppt课件

10
2.色图的显示和处理
(1) 色图的显示
• rgbplot命令
语法: rgbplot(map)
说明:map是表4.8中的各预定义色图函数,rgbplot命令 可画出以行数为自变量红、绿、蓝相对亮度分量的直线 图,反映R、G、B三色比重的变化。
• colorbar命令
以不同颜色来代表曲面的高度,垂直显示颜色标尺。
surf (x,y, z,c)
说明:参数设置与mesh命令相同,c也可以省略。
4. 其它立体网线图和曲面图
meshc命令为立体网状图加等高线;meshz为立体网 状图加“围裙”。
4
三、绘制三维旋转体
1、球面图
语法: sphere (n) %产生单位球面,n为旋转圆周上的分 格线条数,默认n=20。 [x,y,z]=sphere (n) %生成三个(n+1)*(n+1 )阶的矩阵 利用surf或mesh命令产生单位球面。
4.2 MATLAB的 三维图形绘制
一、绘制三维线图命令plot3
plot3是用来绘制三维曲线的,它的使用格式与二维 绘图的plot命令很相似。
语法: plot3(x,y,z, 's')
%绘制三维曲线
plot3(x1,y1,z1, 's1',x2,y2,z2, 's2',…)
%绘制多条三维曲线
说明:当x、y、z是同维向量时,则绘制以x、y、z元素为
语法: [X,Y]=meshgrid(x,y)
说明:X、Y是栅格点的坐标,为矩阵;x、y为向量。 例如,将x(1×m)向量和y(1×n)向量转换为(n×m)的矩阵:
2
2. 三维网格图
三维网格图是由一些四边形相互连接在一起所构成的 一种曲面。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档