MATLAB二维绘图
- 格式:doc
- 大小:1.33 MB
- 文档页数:41
Matlab⼆维绘图函数(plot类)plot功能绘制⼆维图形的最基本函数。
语法//x为向量时,以x的元素值为纵坐标,x的序号为横坐标绘制曲线。
//x为矩阵时,以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。
polt(x)//以x 元素为横坐标值,y 元素为纵坐标值绘制曲线plot(x,y)//以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线plot(x,y1,x,y2,…)其他属性参数:符号作⽤符号作⽤符号作⽤符号作⽤y黄-实线.点<⼩于号m紫:点线o圆s正⽅形c青-.点划线x叉号d菱形r红⾊–虚线+加号h六⾓星g绿*星号p五⾓星b蓝v向下三⾓形w⽩^向上三⾓形k⿊>⼤于号egclear;clc;clf;x = linspace(0,2*pi,50);y = sin(x);plot(x,y)xlabel('x轴')ylabel('y轴')title('题⽬')gtext('正弦曲线') %图形上出现⼗字线,⿏标控制其移动,单击⿏标显⽰⽂字ezplot功能⽆需数据准备,直接画出函数图形语法//在默认区间[-2pi,2pi]上绘制函数f=f(x)ezplot(f)//在区间min < x < max上绘制函数 f = f(x)ezplot(f,[min,max])//对于隐式定义的函数f = f(x,y):ezplot(f)绘制的是 f(x,y) = 0ezplot(f,[xmin,xmax,ymin,ymax])//绘制含参函数 x = x(t)和y = y(t) 默认区间: 0 < t < 2pi.ezplot(x,y)//绘制含参函数 x = x(t)和y = y(t) 区间:tmin < t < tmax.ezplot(x,y,[tmin,tmax])//在指定的区域,在figure窗⼝绘制通过handle figure指定的函数ezplot(...,figure_handle)fplot功能通过MATLAB平台内部设置的⾃适应来动态决定⾃变量的离散间隔,当函数值变化缓慢时离散间隔取⼤些,当函数值变化剧烈时,离散间隔取⼩⼀些。
MATLAB语言基础实习指导实习三MATLAB高级绘图目的:通过实习MA TLAB高级绘图指令,能够绘制各种标准图件以及一些特殊图件要求:掌握MATLAB二维绘图指令plot(semilogx、semilogy、loglog),掌握图形加注的各个函数,掌握三维绘图指令mesh、surf,掌握三维图形的加注与修饰,掌握MATLAB绘图颜色控制;熟悉特殊二维图形的绘图函数。
一、二维绘图1.plot(1)单窗口、单曲线绘图>>x=0:0.1:2*pi;y=sin(x);plot(x,y);确定MATLAB绘图的默认线型;把plot(x,y)改为plot(y)看有何异同,为什么?(2)单窗口、多曲线绘图>>x=0:0.1:2*pi;y1=sin(x);y2=cos(x);y3=cos(x)+1;plot(x,y1,x,y2,x,y3);确定MATLAB绘图的默认色序,把plot(x,y1,x,y2,x,y3)改为plot(x,y1);plot(x,y2);plot(x,y3)看有何区别,为什么?(3)开关格式绘图>>x=0:0.1:2*pi;y=sin(x);plot(x,y,’r-’,x,y,’b*’);掌握MATLAB的点型和线型,掌握MATLAB的颜色指定字母。
(4)单窗口分幅绘图subplot的两种调用格式:subplot(nrow,ncol,nfig);subplot(‘position’,[left bottom width height]);第一种格式的调用:t=0:0.1:2*piy=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y3)subplot(3,1,3);plot(t,y2)查看运行结果,为什么?第二种格式的调用:t=0:0.1:2*piy=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot('position',[0.05,0.55,0.4,0.45]);plot(t,y)subplot('position',[0.55,0.55,0.4,0.45]);plot(t,y3)subplot('position',[0.35,0.05,0.4,0.45]);plot(t,y2)查看运行结果,注意MATLAB中对窗口大小的指定可以使用归一化坐标,如果把subplot('position',[0.35,0.05,0.4,0.45]);改成subplot('position',[0.35,0.05,0.4,0.55]);查看运行结果,为什么?(5)多窗口绘图%figure(n) ——创建窗口函数,n为窗口顺序号。
matlab二维图形的绘制(2006-11-20 20:38:35)转载▼分类:matlab基础(电子方向)常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在区间内,绘制曲线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)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
Matlab二维绘图fplot语句的帮助应用示例一、每种语句格式的使用说明二、每种语句格式的应用示例(1)fplot(f)应用举例fplot(@(x)cos(x));(2)fplot (f, xinterval) 应用举例:xinterval——[Xmin, Xmax] fplot(@(x)cos(x), [-pi,pi]);(3)fplot (funx, funy)应用举例——相当于画带参数的函数(4)fplot( funx, funy, tinterval)应用举例:tinterval——[tmin tmax](5)fplot(___, LineSpec)的应用举例fplot(@(x)exp(x),[-3 0],'--*y');hold on; %在一张图上画多个函数fplot(@(x)cos(x),[0 3],'-.^b');fplot(@(x)sin(x),[3,6],'-+g');grid on %加网格线(6)fplot (___,Name, Value)的应用举例绘制具有不同相位的三个正弦波。
对于第一个,使用 2 磅的线宽。
对于第二个,指定带有圆圈标记的红色虚线线型。
对于第三个,指定带有星号标记的青蓝色点划线线型。
其中第一条语句的’Linewidth’对应name;2对应value。
后附线条属性及各种标记的值,及常用的name, value的值(7)fplot(ax,___)的应用举例(8)fp = fplot(___)的应用举例通过使用圆点表示法设置属性,将线条更改为红色点线。
添加交叉标记,并将标记颜色设置为蓝色。
(9)[x,y] = fplot(___)的应用举例添加标题和轴标签添加标题和轴标签并格式化刻度使用gca 访问当前坐标轴对象。
沿x 轴以为间隔显示刻度线。
通过设置坐标轴对象的XTick 和XTickLabel 属性,格式化x 轴刻度值。
如何在Matlab中进行二维和三维绘图在科学研究和工程领域,数据可视化是一项十分重要的任务,而Matlab作为一种功能强大的数值计算和数据分析软件,自然也提供了丰富的绘图功能。
本文将介绍如何在Matlab中进行二维和三维绘图,并探讨一些常见的绘图技巧和应用。
一、二维绘图Matlab中的二维绘图是最常见和基础的绘图任务之一。
在绘制二维图形时,我们通常会用到plot函数。
这个函数可以接受单个向量作为输入,将这个向量的值作为y轴上的数据点,自动生成与该向量长度相同的x轴坐标。
例如,我们可以用以下代码绘制一个简单的二维折线图:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```上述代码中,x参量取从0到2π的均匀间隔的值,而y则是根据x计算得到的sin函数值。
plot函数会自动根据输入绘制折线图,并添加相应的轴标签和图例。
在实际应用中,我们经常需要绘制多条曲线在同一个坐标系中进行对比分析。
可以通过在plot函数中传入多个x和y向量实现这一功能。
例如,我们可以通过以下代码绘制一个简单的双曲线图:```x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);plot(x, y1, x, y2);```这样,就会在同一个坐标系中同时绘制sin曲线和cos曲线。
除了折线图,Matlab还支持其他常见的二维绘图类型,如散点图、柱状图和面积图等。
这些绘图类型可以通过不同的函数实现,例如scatter、bar和area等。
这里不再一一赘述,读者可以通过Matlab的帮助文档或官方网站了解更多的用法和示例。
二、三维绘图除了二维绘图,Matlab也提供了丰富的三维绘图功能,用于可视化更为复杂的数据和模型。
在绘制三维图形时,我们通常会用到surf函数。
这个函数可以接受两个二维矩阵作为输入,将这两个矩阵的值分别作为x、y轴上的坐标,而将第三个二维矩阵的值作为z轴上的数据点。
第2章 MATLAB二维绘图22.1 二维绘图基本流程22.2 二维图形的基本绘图命令42.2.1 高级绘图命令42.2.2低级绘图命令62.2 二维图形的修饰82.2.1 坐标轴的调整82.2.1.1 调整坐标轴的围82.2.1.2 调整坐标轴的状态92.2.1.3 保存坐标轴的围112.2.1.4 保存坐标轴的状态112.2.2画出或取消网格线122.2.3设置坐标轴的名称122.2.4设置图形标题132.2.5在图形中显示文字142.2.5.1用坐标轴确定文字位置142.2.5.2用鼠标确定位置显示文字152.2.6 图形的标定和颜色条162.2.7 使用绘图工具栏标注图形182.3 填充图形的绘制192.4 多坐标系绘图与图形窗口的分割202.4.1 图形叠印法202.4.2 子图的绘制212.5 特殊坐标图形的绘制222.5.1 绘制极坐标图形232.5.2对数/半对数坐标系绘图232.6 特殊二维图形的绘制242.4.3 直方图242.4.1 柱状图和面积图262.4.2 饼图282.4.4 离散数据绘图282.4.5 等高线图302.4.6 向量图312.7 函数绘图342.7.1 fplot函数342.7.2函数function的定义352.8 工作空间直接绘图362.9 手工绘图方式382.10 小结41第2章 MATLAB二维绘图数据可视化是MATLAB一项重要功能,它所提供的丰富绘图功能,使得从繁琐的绘图细节中脱离出来,而能够专心于最关心的本质。
通过数据可视化的方法,工程科研人员可以对自己的样本数据的分布、趋势特性有一个直观的了解。
本章将重点介绍MATLAB二维图形的绘制方式,并按照完整的步骤来说明一个图形产生的流程,以便将数据以图形形式来识别。
通过本章,读者不仅能掌握二维绘图的基本流程,而且能熟练使用MATLAB中相应的绘图命令、函数来绘制二维图形。
2.1 二维绘图基本流程在MATLAB中绘制图形,通常采用以下7个步骤:(1)准备数据;(2)设置当前绘图区;(3)绘制图形;(4)设置图形中曲线和标记点格式;(5)设置坐标轴和网格线属性;(6)标注图形;(7)保存和导出图形。
二维图形的绘制,也通过上述7个步骤来完成。
下面以实例来说明二维绘图的各个主要步骤。
例2-1 MATLAB中典型的二维图形绘制流程实例。
在同一坐标轴上绘制sin(x)、sin(2x)和sin(3x)这三条曲线。
解:在MATLAB中,通过如表2-1所示的步骤来实现上述图形绘制。
表2-1 基本绘图流程绘图步骤主要工作1. 数据准备准备好绘图需要的横坐标变量和纵坐标变量数据2. 设置当前绘图区在指定的位置创建新的绘图窗口,并自动以此窗口的绘图为当前绘图区3. 绘图创建坐标轴,指定叠加绘图模式,绘制函数曲线设置图形中的线宽、线型、颜色和标记点的形状、大小、颜色等。
4. 设置图形中曲线和标记点格式将坐标轴的围设置在指定曲线5. 设置坐标轴和网格线属性6. 标注图形在图形中添加标题、坐标轴标注、文字标注等7. 保存和导出图形按指定文件格式、属性保存或导出图形对于此题,在MATLAB编写createfigure函数来实现,createfigure函数的代码如下:%********************************************************%程序:EX201.M%功能:作出具有较为完整流程的二维图形%********************************************************function createfigure(x1, y1)%创建图形绘制函数x1=0:0.02*pi:2*pi; % 定义X1的围及刻度y1=[sin(x1);sin(2*x1);sin(3*x1)]; %定义Y1的围及刻度figure1 = figure('PaperPosition',[0.6345 6.345 20.3 15.23],'PaperSize',[20.98 29.68]);axes1 = axes('Parent',figure1);axis(axes1,[0 6.283 -2 2]); %建立坐标轴title(axes1,'sin(x)/sin(2x)/sin(3x)'); %图形标注xlabel(axes1,'x');ylabel(axes1,'y');box(axes1,'on');hold(axes1,'all');plot1 = plot(x1,y1); %显示图形text1 = text(...'Position',[1.136 -0.9532 0],...'String','y=sin(x)',...'VerticalAlignment','baseline',...'Parent',axes1); %创立文字标注text2 = text(...'Position',[2.266 -0.8947 0],...'String','y=sin(2x)',...'VerticalAlignment','baseline',...'Parent',axes1); %创立文字标注text3 = text(...'Position',[3.395 0.8947 0],...'String','y=sin(3x)',...'VerticalAlignment','baseline',...'Parent',axes1); %创立文字标注运行该程序后,输出如图2-1所示的结果:图2-1 二维图形绘制输出的结果(例1-1)在图形的绘制流程中,需要注意的是:(1)上面所谓的7个步骤的顺序也不是完全固定,尤其是其中对图形进行修饰标注的4、5、6步骤,完全可以改变顺序;(2)MATLAB中对于图形中的曲线和标记点格式有默认的设置,这在一般情况下是可以满足使用者需要的,因此对于只是想大概察看一下数据分布的用户,只需要进行第1、3步工作就可以了。
2.2 二维图形的基本绘图命令MATLAB提供了两种级别的二维图形基本绘图命令:(1)高级绘图命令plot它以一体化的方式绘出图形,即用户只须给出图形定义数据,绘图围、刻度大小等,细节容都可由系统自动确定。
(2)低级绘图命令line它允许用户在图形窗口的任意位置用低级绘图命令line画直线或折线。
下面分别进行讲述。
2.2.1高级绘图命令plot函数是MATLAB中最核心的二维绘图函数,它有多种语法格式可以实现多种功能。
(1)最简单的用法plot(Y)当Y是一维数组时,plot(Y)是把(i,X(i))各点顺次连接起来,其中i的取值围从1到length(X)。
当Y是普通的二维数组时,相当于对Y的每一列进行plot(Y(:,i))画线,并把所有的折线累叠绘制在当前坐标轴下。
(2)最常用的用法plot(X,Y)plot最常用的语法格式是接受两个参数的plot(X,Y)当X和Y都是一维数组时,功能和line(X,Y)类似;但plot函数中的X和Y也可以是一般的二维数组,这时候就是对X和Y的对应列画线。
特别的,当X是一个向量,Y是一个在某一方向和X具有相同长度的二维数组时,plot(X,Y)则是对X和Y的每一行(或列)画线。
(3)拓展的用法plot(X1,Y1,X2,Y2,….Xn,Yn)对多组变量同时进行绘图了,对于每一组变量,其意义同前所述。
例2-2高级绘图函数plot绘图实例。
利用plot(x)和多组变量的语法格式绘制y=sinx、y=cosx、y=sin(x-0.1π)、y=cos(x+0.1π)的二维图形。
解:在MATLAB命令窗口中输入以下命令:>>x=0:0.4*pi:2*pi;>>y1=sin(x);>>y2=cos(x);>>y3=sin(x-0.1*pi);>>y4=cos(x+0.1*pi);>>plot(y1) %如图2-2>>title('Plot绘图结果 ')>>xlabel('x','FontSize',15)>>ylabel('y','FontSize',8)运行以上M代码程序,得到图2-2所示的结果图形。
将程序中plot(y1)替换成以下语句,将会得到图2-3所示结果图形。
>>plot(x,y1,x,y2,x,y3,x,y4) %图2-3,注意比较和图2-2的不同图2-2 plot(y1)画线结果(例2-2)图2-3 多组数据的plot结果(例2-2)从图2-3可以看到,多组数据绘图时,MATLAB默认通过不同的颜色区分了各条曲线。
实际上,plot函数绘图指令中就可以设置各条曲线的颜色、线型等属性,这时候plot函数对应的语法格式为:plot(X1,Y1,LineSpec,...),其中LineSpec就是一个指定曲线颜色、线型等特征的字符串。
plot函数采用plot(X1,Y1,LineSpec,...)的语法格式时,可以通过字符串LineSpec 指定曲线的线型、颜色以及数据点的标记类型。
这在突出显示原始数据点和个性化区分多组数据的时候是十分有用的。
例如’-.or’就表示连线采用点划线类型,数据点用圆圈标记,颜色都设为红色。
需要注意的是,当指定了数据点标记类型,但不指定线型时,则表示只标记数据点,而不进行连线绘图。
MATLAB 默认是用颜色区分多组曲线,但在只能黑白打印或显示的情况下,个性化的设置曲线线型就成了唯一的区分方法。
表2-2列出了MATLAB 中可供选择的曲线线型、颜色和标记点类型。
表2-2 LineSpec 可选字符串列表线型 颜色 数据点标记类型标识符 意义 标识符 意义标识符 意义 - 实线 r 红色 + 加号 -. 点划线 g绿色 o 圆圈 -- 虚线 b 蓝色*星号 : 点线c 蓝绿色 . 点m 洋红色 x 交叉符号 y 黄色 square (或s ) 方格 k 黑色 diamond (或d ) 菱形w 白色^ 向上的三角形v 向下的三角形 > 向左的三角形 <向右的三角形pentagram (或p ) 五边形hexagram (或h )六边形例2-3在同一图形窗口中绘制)sin(x 和)2sin(π+x ,并用不同的线型、颜色和标记点。