MATLAB程序设计教程.docx

上传人:b****3 文档编号:11259810 上传时间:2023-05-30 格式:DOCX 页数:23 大小:24.65KB
下载 相关 举报
MATLAB程序设计教程.docx_第1页
第1页 / 共23页
MATLAB程序设计教程.docx_第2页
第2页 / 共23页
MATLAB程序设计教程.docx_第3页
第3页 / 共23页
MATLAB程序设计教程.docx_第4页
第4页 / 共23页
MATLAB程序设计教程.docx_第5页
第5页 / 共23页
MATLAB程序设计教程.docx_第6页
第6页 / 共23页
MATLAB程序设计教程.docx_第7页
第7页 / 共23页
MATLAB程序设计教程.docx_第8页
第8页 / 共23页
MATLAB程序设计教程.docx_第9页
第9页 / 共23页
MATLAB程序设计教程.docx_第10页
第10页 / 共23页
MATLAB程序设计教程.docx_第11页
第11页 / 共23页
MATLAB程序设计教程.docx_第12页
第12页 / 共23页
MATLAB程序设计教程.docx_第13页
第13页 / 共23页
MATLAB程序设计教程.docx_第14页
第14页 / 共23页
MATLAB程序设计教程.docx_第15页
第15页 / 共23页
MATLAB程序设计教程.docx_第16页
第16页 / 共23页
MATLAB程序设计教程.docx_第17页
第17页 / 共23页
MATLAB程序设计教程.docx_第18页
第18页 / 共23页
MATLAB程序设计教程.docx_第19页
第19页 / 共23页
MATLAB程序设计教程.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB程序设计教程.docx

《MATLAB程序设计教程.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计教程.docx(23页珍藏版)》请在冰点文库上搜索。

MATLAB程序设计教程.docx

MATLAB程序设计教程

MATLAB程序设计教程(5)---MATLAB绘图

第5章 MATLAB绘图

5.1 二维数据曲线图

5.2 其他二维图形

5.3 隐函数绘图

5.4 三维图形

5.5 图形修饰处理

5.6图像处理与动画制作

 

5.1 二维数据曲线图

5.1.1 绘制单根二维曲线

plot函数的基本调用格式为:

plot(x,y)

其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例5-1 在0≤x≤2p区间内,绘制曲线

                   y=2e-0.5xcos(4πx)

程序如下:

x=0:

pi/100:

2*pi;

y=2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y)

例5-2 绘制曲线。

程序如下:

t=0:

0.1:

2*pi;

x=t.*sin(3*t);

y=t.*sin(t).*sin(t);

plot(x,y);

plot函数最简单的调用格式是只包含一个输入参数:

plot(x)

在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

 在使用Matlab时,经常需要将得到的数值表达成二维或三维图像。

plot(vector1,vector2)可以用来画两个矢量的二维图,例如

x=1:

0.1:

2*pi;

plot(x,sin(x))可以画正弦函数在0-2pi的上的图像。

plot函数可以接一些参数,来改变所画图像的属性(颜色,图像元素等)。

下面是一些属性的说明

    b    blue(蓝色)      .    point(点)      -    solid(实线)

g    green(绿色)     o    circle(圆圈)   :

    dotted(点线)

r    red(红色)       x    x-mark(叉号)   -.  dashdot(点画线)

c    cyan(墨绿色)    +    plus(加号)      --   dashed(虚线)

m    magenta(紫红色)*    star(星号)     (none)noline

y    yellow(黄色)    s    square(正方形)

k    black(黑色)     d    diamond(菱形)

                              v    triangle(down)

                              ^    triangle(up)

                              <    triangle(left)

                              >    triangle(right)

                              p    pentagram

                              h    hexagram

例如,plot(x,y,'.r')表示用点来画图,点的颜色是红色。

matlab中同一个程序,分别用2个窗口来显示两个图象:

figure

(1)

plot(x,sinx)

figure

(2)

plot(x,cosx)

5.1.2 绘制多根二维曲线

1.plot函数的输入参数是矩阵形式

 

(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。

曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。

 

(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

 (3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

2.含多个输入参数的plot函数

调用格式为:

plot(x1,y1,x2,y2,…,xn,yn)

(1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。

每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。

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

例5-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)

3.具有两个纵坐标标度的图形

在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。

调用格式为:

plotyy(x1,y1,x2,y2)

其中x1,y1对应一条曲线,x2,y2对应另一条曲线。

横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。

例5-4 用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

程序如下:

x=0:

pi/100:

2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

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

plotyy(x,y1,x,y2);

4.图形保持

holdon/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。

例5-5 采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

程序如下:

x=0:

pi/100:

2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y1)

holdon

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

plot(x,y2);

holdoff

 

5.1.3 设置曲线样式

MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。

例如,“b-.”表示蓝色点划线,“y:

d”表示黄色虚线并用菱形符标记数据点。

当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。

要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:

plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)

例5-6 在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),标记两曲线交叉点。

程序如下:

x=linspace(0,2*pi,1000);

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

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

k=find(abs(y1-y2)<1e-2);       %查找y1与y2相等点(近似相等)的下标

x1=x(k);                          %取y1与y2相等点的x坐标

y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);   %求y1与y2值相等点的y坐标

plot(x,y1,x,y2,'k:

',x1,y3,'bp');

 

5.1.4 图形标注与坐标控制

1.图形标注

有关图形标注函数的调用格式为:

title(图形名称)

xlabel(x轴说明)

ylabel(y轴说明)

text(x,y,图形说明)

legend(图例1,图例2,…)

函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。

例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将得到标注效果sin(ωt+β)。

legend函数的基本用法是

LEGEND(string1,string2,string3,...)

分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。

例如:

plot(x,sin(x),'.b',x,cos(x),'+r')

legend('sin','cos')这样可以把"."标识为'sin',把"+"标识为"cos"

还可以用LEGEND(...,'Location',LOC)来指定图例标识框的位置

这些是Matlabhelp文件。

后面一段是对应的翻译和说明

       'North'             insideplotboxneartop

       'South'             insidebottom

       'East'              insideright

       'West'              insideleft

       'NorthEast'         insidetopright(default)

       'NorthWest          insidetopleft

       'SouthEast'         insidebottomright

       'SouthWest'         insidebottomleft

       'NorthOutside'      outsideplotboxneartop

       'SouthOutside'      outsidebottom

       'EastOutside'       outsideright

       'WestOutside'       outsideleft

       'NorthEastOutside'  outsidetopright

       'NorthWestOutside'  outsidetopleft

       'SouthEastOutside'  outsidebottomright

       'SouthWestOutside'  outsidebottomleft

       'Best'              leastconflictwithdatainplot

       'BestOutside'       leastunusedspaceoutsideplot

       'North'            图例标识放在图顶端

       'South'           图例标识放在图底端

       'East'              图例标识放在图右方

       'West'             图例标识放在图左方

       'NorthEast'      图例标识放在图右上方(默认)

       'NorthWest     图例标识放在图左上方

       'SouthEast'     图例标识放在图右下角

       'SouthWest'    图例标识放在图左下角

(以上几个都是将图例标识放在框图内)

       'NorthOutside'         图例标识放在图框外侧上方

       'SouthOutside'        图例标识放在图框外侧下方

       'EastOutside'          图例标识放在图框外侧右方

       'WestOutside'         图例标识放在图框外侧左方

       'NorthEastOutside'  图例标识放在图框外侧右上方

       'NorthWestOutside'图例标识放在图框外侧左上方

       'SouthEastOutside'  图例标识放在图框外侧右下方

       'SouthWestOutside'图例标识放在图框外侧左下方

(以上几个将图例标识放在框图外)

       'Best'                     图标标识放在图框内不与图冲突的最佳位置

       'BestOutside'          图标标识放在图框外使用最小空间的最佳位置

还是用上面的例子

legend('sin','cos','location','northwest')可以将标识框放置在图的左上角。

   Examples:

       x=0:

.2:

12;

       plot(x,bessel(1,x),x,bessel(2,x),x,bessel(3,x));

       legend('First','Second','Third');

       legend('First','Second','Third','Location','NorthEastOutside')

       b=bar(rand(10,5),'stacked');colormap(summer);holdon

       x=plot(1:

10,5*rand(10,1),'marker','square','markersize',12,...

                'markeredgecolor','y','markerfacecolor',[.60.6],...

                'linestyle','-','color','r','linewidth',2);holdoff

       legend([b,x],'Carrots','Peas','Peppers','GreenBeans',...

                 'Cucumbers','Eggplant')

例5-7 在0≤x≤2p区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。

程序如下:

x=0:

pi/100:

2*pi;

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

y2=cos(4*pi*x);

plot(x,y1,x,y2)

title('xfrom0to2{\pi}');            %加图形标题

xlabel('VariableX');                %加X轴说明

ylabel('VariableY');                 %加Y轴说明

text(0.8,1.5,'曲线y1=2e^{-0.5x}');     %在指定位置添加图形说明

text(2.5,1.1,'曲线y2=cos(4{\pi}x)');

legend(‘y1’,‘y2’)                    %加图例

2.坐标控制

axis函数的调用格式为:

axis([xminxmaxyminymaxzminzmax])

axis函数功能丰富,常用的格式还有:

axisequal:

纵、横坐标轴采用等长刻度。

axissquare:

产生正方形坐标系(缺省为矩形)。

axisauto:

使用缺省设置。

axisoff:

取消坐标轴。

axison:

显示坐标轴。

给坐标加网格线用grid命令来控制。

gridon/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。

给坐标加边框用box命令来控制。

boxon/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。

例5-8 在同一坐标中,可以绘制3个同心圆,并加坐标控制。

程序如下:

t=0:

0.01:

2*pi;

x=exp(i*t);

y=[x;2*x;3*x]';

plot(y)

gridon;           %加网格线

boxon;           %加坐标边框

axisequal         %坐标轴采用等刻度

 

5.1.5 图形的可视化编辑

MATLAB6.5版本在图形窗口中提供了可视化的图形编辑工具,利用图形窗口菜单栏或工具栏中的有关命令可以完成对窗口中各种图形对象的编辑处理。

在图形窗口上有一个菜单栏和工具栏。

菜单栏包含File、Edit、View、Insert、Tools、Window和Help共7个菜单项,工具栏包含11个命令按钮。

 

5.1.6 对函数自适应采样的绘图函数

fplot函数的调用格式为:

  

fplot(fname,lims,tol,选项)

其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。

选项定义与plot函数相同。

例5-9 用fplot函数绘制f(x)=cos(tan(πx))的曲线。

命令如下:

fplot('cos(tan(pi*x))',[0,1],1e-4)

 

5.1.7 图形窗口的分割

subplot函数的调用格式为:

subplot(m,n,p)

该函数将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。

在每一个绘图区允许以不同的坐标系单独绘制图形。

例5-10 在图形窗口中,以子图形式同时绘制多根曲线。

 

5.2 其他二维图形

5.2.1 其他坐标系下的二维数据曲线图

1.对数坐标图形

MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:

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

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

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

例5-11 绘制y=10x2的对数坐标图并与直角线性坐标图进行比较。

2.极坐标图

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

polar(theta,rho,选项)

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

例5-12 绘制r=sin(t)cos(t)的极坐标图,并标记数据点。

程序如下:

t=0:

pi/50:

2*pi;

r=sin(t).*cos(t);

polar(t,r,'-*');

 

5.2.2 二维统计分析图

在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:

bar(x,y,选项)

stairs(x,y,选项)

stem(x,y,选项)

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

例5-13 分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。

程序如下:

x=0:

pi/10:

2*pi;

y=2*sin(x);

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

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

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

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

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

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

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

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

MATLAB提供的统计分析绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。

例5-14 绘制图形:

(1)某企业全年各季度的产值(单位:

万元)分别为:

2347,1827,2043,3025,试用饼图作统计分析。

(2)绘制复数的相量图:

7+2.9i、2-3i和-1.5-6i。

程序如下:

subplot(1,2,1);

pie([2347,1827,2043,3025]);

title('饼图');

legend('一季度','二季度','三季度','四季度');

subplot(1,2,2);

compass([7+2.9i,2-3i,-1.5-6i]);

title('相量图');

5.3 隐函数绘图

MATLAB提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。

(1)对于函数f=f(x),ezplot函数的调用格式为:

ezplot(f):

在默认区间-2π

ezplot(f,[a,b]):

在区间a

(2)对于隐函数f=f(x,y),ezplot函数的调用格式为:

ezplot(f):

在默认区间-2π

ezplot(f,[xmin,xmax,ymin,ymax]):

在区间xmin

ezplot(f,[a,b]):

在区间a

(3)对于参数方程x=x(t)和y=y(t),ezplot函数的调用格式为:

ezplot(x,y):

在默认区间0

ezplot(x,y,[tmin,tmax]):

在区间tmin

例5-15 隐函数绘图应用举例。

程序如下:

subplot(2,2,1);

ezplot('x^2+y^2-9');axisequal

subplot(2,2,2);

ezplot('x^3+y^3-5*x*y+1/5')

subplot(2,2,3);

ezplot('cos(tan(pi*x))',[0,1])

subplot(2,2,4);

ezplot('8*cos(t)','4*sqrt

(2)*sin(t)',[0,2*pi])

 

5.4 三维图形

5.4.1 三维曲线

plot3函数与plot函数用法十分相似,其调用格式为:

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)

其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。

当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。

当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。

例5-16 绘制三

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2