Matlab-绘图及其位置摆放

本文详细介绍了Matlab中各种二维和三维图形的绘制方法,包括plot函数的不同用法,如绘制曲线、包络线、条形图、填充图等,并探讨了plotyy函数、极坐标图、对数坐标图、三维曲面图、隐函数作图等。同时讲解了图形的位置摆放,如在同一坐标系和不同坐标系中画图,以及图形的辅助操作,如坐标控制、图形标注和图形保持等技巧。
摘要由CSDN通过智能技术生成

一、绘图函数

(1)绘制二维图形

(1.1) plot( ) 函数的应用格式。

  1,plot(x)。 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。

  例如:

      x=0:pi/20:2*pi;

      y1=sin(x);

      plot(x,y1);

  2, plot(x,y) 。以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。

  3, plot(x,y1,x,y2,…) 。以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线。

  例如:

   x=0:pi/20:2*pi;

   y1=sin(x);

   y2=cos(x);

   plot(x,y1,x,y2);

  4,plot(x1,y1,x2,y2,…,xn,yn)。含多个输入参数。plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。实现在同一坐标中画出多条曲线。

如下列命令可以在同一坐标中画出3条曲线。

>> x=linspace(0,2*pi,100);

>> plot(x,sin(x),x,2*sin(x),x,3*sin(x))

当输入参数有矩阵形式时,配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。 

>> x=linspace(0,2*pi,100);

>> y1=sin(x);

>> y2=2*sin(x);

>> y3=3*sin(x);

>> x=[x;x;x]';

>> y=[y1;y2;y3]';

>> plot(x,y,x,cos(x))

x,y都是含有三列的矩阵,它们组成输入参数对,绘制三条曲线;x和cos(x)又组成一对,绘制一条余弦曲线。

利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。如

>> A=pascal(5)

A =

     1     1     1     1     1

     1     2     3     4     5

     1      3     6    10    15

     1     4    10    20    35

     1     5    15    35    70

>> plot(A)

例,用不同的线型和颜色在同一坐标内绘制曲线 及其包络线。

>> x=(0:pi/100:2*pi)';

>> y1=2*exp(-0.5*x)*[1,-1];

>> y2=2*exp(-0.5*x).*sin(2*pi*x);

>> x1=(0:12)/2;

>> y3=2*exp(-0.5*x1).*sin(2*pi*x1);

>> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp'); 

在该plot函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y,第三组用红色五角星离散标出数据点。

另外,Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等,测试代码如下

   x=0:pi/20:2*pi;

   y1=sin(x);

   y2=cos(x);

   plot(x,y1,x,y2);

   grid on               %可以在画的图像中添加栅格,用命令grid on,这样可以方便你对齐某条线或是对比比较方便,

   xlabel('变量 X')   %添加坐标轴信息,这样做可以很快的让人明白你在做什么

   ylabel('变量 Y1 & Y2')

   title('正弦余弦波形')     %添加图像标题

   text(1.5,0.3,'cos(x)')    %将cosx这个注解加到坐标中的某个位置

   gtext('sin(x)')      % 用鼠标的光标定位,将sinx这个注解放在你鼠标点击的地方

(1.2) plotyy( )函数的应用格式。

在Matlab中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数,它能把具有不同量纲,不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对比分析。使用格式为:plotyy(x1,y1,x2,y2),matlab绘图包

x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左边的对应x1,y1数据对,右边的对应x2,y2。

(1.3)其他形式的二维绘图。

1. 其他形式的线性直角坐标图

在线性直角坐标中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别为:

bar(x,y,选项)。选项在单引号中。

stairs(x,y,选项)

stem(x,y,选项)

fill(x1,y1,选项1,x2,y2,选项2,…)

前三个函数和plot的用法相似,只是没有多输入变量形式。fill函数按向量元素下标渐增次序依次用直线段连接x,y对应元素定义的数据点。

例:分别以条形图、填充图、阶梯图和杆图形式绘制曲线

x=0:0.35:7;

y=2*exp(-0.5*x);

subplot(2,2,1);bar(x,y,'g');

title('bar(x,y,''g'')');axis([0, 7, 0 ,2]);

subplot(2,2,2);fill(x,y,'r');

title('fill(x,y,''r'')');axis([0, 7, 0 ,2]);

subplot(2,2,3);stairs(x,y,'b');

title('stairs(x,y,''b'')');axis([0, 7, 0 ,2]);

subplot(2,2,4);stem(x,y,'k');

title('stem(x,y,''k'')');axis([0, 7, 0 ,2]);

2. 极坐标图

polar函数用来绘制极坐标图,调用格式为:

polar(theta,rho,选项)

其中,theta为极坐标极角,rho为极径,选项的内容和plot函数相似。

例5-9:绘制 的极坐标图

theta=0:0.01:2*pi;

rho=sin(3*theta).*cos(5*theta);

polar(theta,rho,'r');

3. 对数坐标图

在实际应用中,经常用到对数坐标,Matlab提供了绘制对数和半对数坐标曲线的函数,其调用格式为:

semilogx(x1,y1,选项1,x2,y2,选项2,…)

semilogy(x1,y1,选项1,x2,y2,选项2,…)

loglog(x1,y1,选项1,x2,y2,选项2,…)

这些函数中选项的定义和plot函数完全一样,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。semilogy恰好和semilogx相反。loglog函数使用全对数坐标,x、y轴均采用对数刻度。

4. 对函数自适应采样的绘图函数

5. 其他形式的二维图形

(2)绘制三维图形

(2.1)三维空间xyz面

        最基本的三维图形函数为plot3(),它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线。

  其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)。其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。当x,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值