当前位置:文档之家› MATLAB中plot的用法

MATLAB中plot的用法

函数和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*ex
>> clear
>> x=-2:0.1:2;y=x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.*exp(-X.^2-Y.^2);
- 9 -
>> surf(X,Y,Z)
图5.2.4
图5.2.5
- 10 -
5.2.3观察点
MTALAB允许用户设置观察点,其指令是:view(azimuth,elevation)
>> 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')
>> 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,y1);
>> subplot(2,2,2);
>> bar(x,y1);
>> subplot(2,2,3);
>> fill(x,y1,'g');
>> subplot(2,2,4);
>> stairs(x,y1,'k');
图5.3.1其他图形函数
- 12 -
5.3.1直方图
函数bar(x)可以绘制直方图,这对统计或者数据采集非常直观实用。它共有四种形式:
>> R=sqrt(X.^2+Y.^2)+eps;
>> Z=sin(R)./R;
>> surf(X,Y,Z)
>> xlabel('X轴方向')
>> ylabel('Y轴方向')
>> zlabel('Z轴方向')
(见图5.2.4)
_(x^2+y^2)
例5.2.4绘制由方程形成的立体图。(见图5.2.5)z=xe
其中方位角azimuth是观察点和坐标原点连线在x-y平面的投影和y轴负方向的夹角,仰

elevation是观察点与坐标原点的连线和x-y平面的夹角。对于这两个角度,三维图形的
默认
值分别是-37.5和30,二维图形的默认值是0和90。
例5.2.5从不同的角度观察高斯矩阵的曲面。
>> z=peaks(40);
bar(x,y,width)(或bar(y,width))指定每个直方条的宽度,如width>1,则直方条会重
叠,默认值为width=0.8;
bar(…,’grouped’)使同一组直方条紧紧靠在一起;
bar(…,’stack’)把同一组数据描述在一个直方条上。
例5.3.2
>> y=[5 3 2 9;4 7 2 7;1 5 7 3];
>> subplot(2,2,1);
>> mesh(z);
>> subplot(2,2,2);
>> mesh(z);
>> view(-37.5,-30);
>> subplot(2,2,3);
>> mesh(z);
>> view(180,0);
>> subplot(2,2,4);
>> mesh(z);
图5.2.2 mesh函数绘制的三维曲面图
- 8 -
图5.2.3 surf函数绘制的着色表面图
在曲面绘图中,另一个常用的函数是meshgrid函数,其一般引用格式是:
[X, Y]=meshgrid (x, y)
其中x和y是向量,通过meshgrid函数就可将x和y指定的区域转换成为矩阵X和Y。
这样我们在绘图时就可以先用meshgrid函数产生在x-y平面上的二维的网格数据,再以一
MATLAB中plot的用法(2011-05-17 22:10:50)转载▼
标签:杂谈
第五讲计算结果的可视化
本节介绍MATLAB的两种基本绘图功能:二维平面图形和三维立体图形。
5.1二维平面图形
5.1.1基本图形函数
plot是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是
说,使用plot函数之前,必须首先定义好曲线上每一点的x及y坐标,常用格式为:
>> title('Sine and Cosine Curve')
图5.2.1函数plot绘制的三维曲线图
- 7 -
5.2.2三维曲面图
如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。
mesh函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。surf
>> plot(x,y4);
[说明](1)子窗口的序号按行由上往下,按列从左向右编号。
(2)如果不用指令clf清除,以后图形将被绘制在子图形窗口中。
图5.1.4设置坐标轴最大最小值的正弦曲线
- 5 -
图5.1.5图形的比较显示(曲线叠加方法)
图5.1.6图形的比较显示(图形窗口分割方法)
-Hale Waihona Puke 6 -5.2三维立体图形组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);
semilogy横坐标为线性坐标轴,纵坐标为对数坐标轴
polar绘制极坐标图
fill绘制实心图
bar绘制直方图
pie绘制饼图
area绘制面积图
quiver绘制向量场图
stairs绘制阶梯图
sterm绘制火柴杆图
例5.3.1
>> x=0:pi/10:2*pi;
>> y1=sin(x);
>> subplot(2,2,1);
title(‘string’)给图形添加标题
text(x,y,’string’)在图形的任意位置增加说明性文本信息
gtext(‘string’)利用鼠标添加说明性文本信息
axis([xmin xmax ymin ymax])设置坐标轴的最小最大值
- 3 -
例5.1.2给例5.1.1的图形中加入网络和标记。(见图5.1.3和5.1.4)
5.2.1三维曲线图
与二维图形相对应,MATLAB提供了plot3函数,可以在三维空间中绘制三维曲线,
它的格式类似于plot,不过多了z方向的数据。plot3的调用格式为:
plot3(x1,y1,z1,x2,y2,z2,...)
其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该

一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;二是采用
subplot(m,n,k)函数,将图形窗口分隔成n m×个子图,并选择第k个子图作为当前图形
,然
后在同一个视图窗口中画出多个小图形。
例5.1.3在同一窗口中绘制线段。(见图5.1.5)
>> x=0:pi/10:2*pi;

现它们的功能。
- 2 -
表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*:')
>> view(0,90);
图5.2.6对应不同观察点的三维曲面图
5.3其他图形函数
除了plot绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函
相关主题