MATLAB作图2

合集下载

matlab中plot的用法

matlab中plot的用法

matlab中plot的用法
matlab中plot函数是绘制2维图形的函数,可以自动根据输入数据
绘制出折线图、散点图等,也可以通过丰富的可选项自定义图形样式,例
如设置线条类型、绘图颜色等,用法如下:
1. 使用无参数plot指令:plot(x,y)。

以实例:x = 0:pi/100:2*pi; y = sin(x); plot(x,y)。

此时matlab将自动以y的值改变的范围来推导图像的y轴范围,自
动以x的值改变的范围来推导图像的x轴范围,并默认使用线性进行绘图。

2. 使用曲线类型参数plot指令:plot(x,y,'曲线类型')。

以实例:x = 0:pi/100:2*pi; y = sin(x); plot(x,y,'--')。

此时matlab将以“--”作为曲线类型参数,从而让曲线以点划线的
形式进行绘制。

3. 使用线条参数plot指令:plot(x,y,'线条参数')。

以实例:x = 0:pi/100:2*pi; y = sin(x); plot(x,y,'r-')。

此时matlab将以“r-”作为线条参数,从而让曲线以红色的实线进
行绘制。

plot函数的参数还可以包括更多,例如设置图形标题、自定义x轴
/y轴坐标等,帮助用户更加精确地绘制自己想要的图形。

6MATLAB作图

6MATLAB作图

2、定制坐标
Axis([xmin xmax ymin ymax zmin zmax]) 定制图形坐标
x、y、z的最大、最小值
Axis auto 将坐标轴返回到自动缺省值
例 在区间[0.005,0.01]显示sin(1/x)的图形。
解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis([0.005 0.01 –1 1])
x1 x2 0.5
2 2 2 1
x2
2

2
,
xi 4,4
例3

(大海捞针问题)
2
3 2 2 Max Z x1 x2 2 2 0.05 x1 x2



2
,
xi 5.12 ,5.12
例4 (Ackley函数)
Max Z e
例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(x)’,[0,pi])
例 在[0,2*pi]上画 x cos
3
t , y sin t 星形图
3
解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
例 在[-2,0.5],[0,2]上画隐函数 e
表示在a<x<b绘制显函数f=f(x)的函数图
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
表示在区间xmin<x<xmax和 ymin<y<ymax绘制
隐函数f(x,y)=0的函数图
ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程 x=x(t),y=y(t)的函数图

Matlab绘图

Matlab绘图

第二章绘图要画一个函数的图像,先是选取一堆x,求出相对应的y值,然后按照数值描点,接着用光滑的曲线把点连接起来。

和数学课讲的一样,在matlab中,我们画图也分为三步1. 建立一个x的点集;2. 根据函数关系式算出每个x对应y的点集;3. 将这些点用平滑的曲线连接起来。

例如要画y=sinx在[0,10]区间内的图像,首先我们要确定出x的区间>>x = [0:0.1:10];命令的意思是,产生一个数集,它从0开始,每次加0.1,一直加到10为止注意,命令后面的分号记得加上,否则matlab会把x的元素都打印出来,下面就是不加分号的后果:有了x的数集后,我们再根据函数关系式y=sinx得出y的点集>>y = sin(x);同样的,别忘了把分号加上抑制程序输出y的具体值,以及sin(x)的括号别忘了加到这里,我们已经把x和y确定下来,接下来只需用plot(x,y)命令即可绘制出图像>>plot(x,y)当然,如果你不定义y,而直接用一下嵌套命令也是可以的>>plot(x,sin(x))我们将x的增量变大一点,改为0到10,每次增幅为1,即>>x = [0:1:10];然后我们输入>>plot(x,y)我们会得到错误信息:原因是之前我们定义的y是由之前的x决定的,当x改变后,y依然没有改变,为了解决这个问题,我们要把y重新定义一遍,即命令要完整再输入一遍>>x = [0:1:10];>>y = sin(x);>>plot(x,y)然后程序会绘制出和我们预期相同的图像没错,我们将看到不光滑的曲线,这告诉我们,当使用plot(x,y)画图的时候x的增加幅度尽可能小一些,画出的图像才精确(跟数学里点越多图像越精确原理一样的)为了美化图像(有时是为了更清楚的辨析图像),我们经常要为图像加上网格,为坐标轴命名,改变曲线的颜色、形状这些命令2.1 加上网格我们使用grid on 命令我们这样书写:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),grid on这样就画出了带网格的图像当然,也可以先画出没有网格的图像,再把窗口切回matlab命令输入窗口,输入grid on,这样图像就会加上网格,即>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>grid on2.2 为坐标轴命名为x坐标轴命名的命令是xlabel(),显然,y的就应该是ylabel()比如这里,我想让x命名为x,y命名为sinx,则如下输入:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),xlabel(‘x’),ylabel(‘sinx’)注意,坐标轴的名字要用引号括起来,表示字符串当然也可以画图后再标坐标轴,即:>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>xlabel(‘x’)>>ylabel(‘sinx’)然后我们就可以看到坐标轴带命名的图像:2.3 绘制多条曲线绘制多条曲线有两种情况,一种是在同一个坐标面内画多条曲线,另一种是在一个面内画多个独立的曲线我们先讲第一种,假设我们要在一个坐标面内画sinx,cosx,tanx的图像先定义x,y>>x=[0:0.1:10]>>y1=sin(x);>>y2=cos(x);>>y3=tan(x);接着画图>>plot(x,y1)这时候函数绘制出了sinx的图像接着我们继续画>>plot(x,y2)我们会发现程序会把之前的sinx图像抹掉,然后绘制cosx的图像为了让他们同时存在,我们使用hold on命令,即画完一个图后,hold on,继续画当我们再加上tanx后会得到这个图像这是因为函数显示区间设置的原因,后面讲2.4 更改图像显示区间从楼上我们已经在一个图中画出了sinx、cosx、tanx的图像,但是我们知道tanx的值域是负无穷到正无穷,而sin,cos的值域是-1到1,这导致了我们基本上看不到sin,cos的图像,为了解决这个问题,我们只需用axis命令即可,命令格式为axis([xmin xmax ymin ymax])即括号内跟一个区间,四个数字分别是x的起点,x的终点,y的起点,y的终点。

matlab中plot函数的用法

matlab中plot函数的用法

matlab中plot函数的用法在MATLAB中,plot函数用于绘制二维图形。

它可以用于创建线图、散点图、条形图等多种类型的图表。

该函数的基本语法是:plot(x, y)plot(x, y, LineSpec)plot(y)plot(x1, y1, LineSpec1, x2, y2, LineSpec2, ...)其中,-x表示要绘制的数据点的x坐标,可以是一个向量或矩阵;-y则表示相应的y坐标,也可以是一个向量或矩阵;- LineSpec 是一个可选参数,表示绘制线条的样式,如颜色、线型、标记等。

以下是plot函数的几种常见用法:1.绘制线图可以通过传递 x 和 y 向量来实现线图的绘制。

例如,要绘制一个sin函数的图像,可以执行以下代码:x = 0:0.1:2*pi;y = sin(x);plot(x, y)这将绘制一个从0到2π范围内的sin曲线。

2.绘制散点图除了绘制线图,plot函数还可以用于绘制散点图,只需将参数LineSpec 设置为空即可。

例如,要绘制一组随机生成的散点,可以执行以下代码:x = rand(1, 100);y = rand(1, 100);plot(x, y, '.') % '.'表示绘制散点图这将在坐标系中生成100个随机散点。

3.自定义线条样式可以通过传递 LineSpec 参数来自定义线条的样式。

它由颜色、线型和标记三部分组成。

例如,要绘制红色的虚线曲线,可以执行以下代码:x = 0:0.1:2*pi;y = sin(x);plot(x, y, 'r--')其中,'r'表示红色,'--'表示虚线。

4.多图绘制plot函数还支持多图绘制,即在同一个图形窗口绘制多个图形。

只需将多组 x 和 y 数据传递给plot函数即可。

例如,要在同一个图形窗口中绘制两个曲线,可以执行以下代码:x1 = 0:0.1:2*pi;y1 = sin(x1);x2 = 0:0.1:2*pi;y2 = cos(x2);plot(x1, y1, 'r', x2, y2, 'b')这将分别绘制sin函数和cos函数的图像,其中sin函数用红色表示,cos函数用蓝色表示。

matlab作图与数据处理

matlab作图与数据处理

左键双击文件夹中huatu.m,打开该程序文件,此文件中第4-10 行中有下
面这样一行代码,此代码用于对图形格式进行统一设置。
geshi_shezhi('宋体',7.5,'Times New Roman',7.5,0.5,'r.-',0.5,12);
括号内为参数,参数以逗号为分界符。修改相应位置的参数后点击上方保存按
第三步 作图工具的简单介绍
1)此工具shuju.m用于将第二步导入的实验数据以变量的形式存储 在基本工作空间(ppt1.1 用户界面右侧)中,方便下面工具调用它来进 行作图。
2)此工具geshishezhi.m 用于画图前对论文格式进行统一设置。
3)此工具huatu.m用于画图,能画各种直角坐标系图形(包括横坐 标为对数坐标的坐标系图形。
角坐标系,false为对数坐标系。
5
x 10 2
60
请输入 请输入
5
x 10 2
60
请输入 请输入
1.5
40
1.5
40
速度/ v 加速度
速度/ v 加速度
1
20
1
20
0.5
0
0.5
0
0
-20
0 2 4 6 8 10 12 14 16 18
时间/s
4
x 10
0
-20
0
1
2
3
4
5
6
10
10
10
10
10
10
-20
-30
-40
-50
0
10
20
30
时间/s
2.以横坐标x数据,纵坐标y数据作直角坐标系或对数坐标系图形 形如 huatu(shili_x,shili_y,'时间/s','速度/v',true);其中第一,

Matlab绘图和坐标操作

Matlab绘图和坐标操作

Matlab绘图和坐标操作a=linspace(1,2,10)plot(a,'--pr','linewidth',1.5,'MarkerEdgeColor','r','MarkerFaceColor','m','MarkerSize',10)legend('a','Location','best')title('a','FontName','Times New Roman','FontWeight','Bold','FontSize',16)xlabel('T','FontName','Times New Roman','FontSize',14)ylabel('a','FontName','Times New Roman','FontSize',14,'Rotation',0)axis auto equalset(gca,'FontName','Times New Roman','FontSize',14)1.曲线线型、颜色和标记点类型plot(X1,Y1,LineSpec, …) 通过字符串LineSpec指定曲线的线型、颜色及数据点的标记类型。

线型颜色数据点标记类型标识符意义标识符意义标识符意义- 实线r 红色+ 加号-. 点划线g 绿色o 圆圈-- 虚线b 蓝色* 星号: 点线c 蓝绿色. 点m 洋红色x 交叉符号y 黄色square(或s) 方格k 黑色diamond(或d) 菱形w 白色^ 向上的三角形v 向下的三角形> 向左的三角形< 向右的三角形pentagram(或p) 五边形hexagram(或h) 六边形2.设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。

MATLAB中plotyy函数详解:matlab双Y轴作图

MATLAB中plotyy函数详解:matlab双Y轴作图

Matlab plotyy画双纵坐标图实例x = 0:0、01:20;y1 = 200*exp(-0、05*x)、*sin(x);y2 = 0、8*exp(-0、5*x)、*sin(10*x);[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');set(AX(1),'XColor','k','YColor','b');set(AX(2),'XColor','k','YColor','r');HH1=get(AX(1),'Ylabel');set(HH1,'String','Left Y-axis');set(HH1,'color','b');HH2=get(AX(2),'Ylabel');set(HH2,'String','Right Y-axis');set(HH2,'color','r');set(H1,'LineStyle','-');set(H1,'color','b');set(H2,'LineStyle',':');set(H2,'color','r');legend([H1,H2],{'y1 = 200*exp(-0、05*x)、*sin(x)';'y2 = 0、8*exp(-0、5*x)、*sin(10*x)'}); xlabel('Zero to 20 musec、');title('Labeling plotyy');Q:右边用蓝色圈起来得tick能去掉吗?由于用plotyy画图,为了使图尽量地显示出来,用了set(AX(1),'YLimMode','auto'),但这样可能会导致左边AX(1)与右边AX(2)得tick得间距不一样,影响美观。

MATLAB二维绘图

MATLAB二维绘图

第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)保存和导出图形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10 8 6 4 2 0
3 5 x 10 plot-y=x
10
6
loglog-logy=3logx
5 plotyy-y=x 3,logy=3logx x 10 10 100
8 10
4
80 60 40 20 0 50 0 100
6 4 2
10
2
0
50
100
10 0 10
0
10
1
10
2
0
三维图形 1、空间曲线 2、空间曲面
0
-5
-10 4 2 0 -2 -4 -4 -2 2 0 4
在图形上加格栅、图例和标注(复习)
图 形 处 理
定制坐标
图形保持
分割窗口 缩放图形 改变视角 动 画
处理图形(其他特殊处理)
1、在图形上加格栅、图例和标注
(1)GRID ON: 加格栅在当前图上
GRID OFF: 删除格栅
(2)hh = xlabel(string): 在当前图形的x轴上加图例string hh = ylabel(string): 在当前图形的y轴上加图例string hh = zlabel(string): 在当前图形的z轴上加图例string
plotyy 有两个y坐标轴,一个在左边,一个在右边
例 用方形标记创建一个简单的loglog
解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅
10
50
10
40
10
30
10
20
10
10
10
0
10
-1
10
0
10
1
10
2
例 创建一个简单的半对数坐标图 解 输入命令: x=0:.1:10; semilogy(x,10.^x)
1 0.8 0.6 0.4 cos(x) 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 sin(x)
0
1
2
3
4
5
6
7
(3)定制坐标
Axis([xmin xmax ymin ymax zmin zmax]) 定制图形坐标
x、y、z的最大、最小值
Axis auto 将坐标轴返回到自动缺省值
5
5.5
6
6.5
7
7.5
8
8.5
1.6 1.4
f1=inline('1+y^2','x','y'); [x,y]=ode45(f1,[-0.5,0.5],0); plot(x,y,'r'),grid on
1.2 1 0.8 0.6 0.4 0.2 0 -0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
1.曲线图
例 在[0,2*pi]用红线画sin(x),用绿圈画cos(x). 解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,'r',x,z,’g0')
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
2.符号函数(显函数、隐函数和参数方程)画图
80
60
40
(这里meshgrid(x,y)的作用 是产生一个以向量x为行、向量y 为列的矩阵)
20
0 5 4 3 2 1 -4 -2 2 0 4

(1)



surf(x,y,z) 画出数据点(x,y,z)表示的曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值
80
例 解
画函数Z=(X+Y).^2的图形. x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; surf(X,Y,Z)
(复习)
Matlab作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标),然 后将该点集的坐标传给Matlab函数画图.
命令为: PLOT(X,Y,S)
线型
X,Y是向量,分别表示点集的横坐标和纵坐标
PLOT(X,Y)--画实线 PLOT(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn) --将多条线画在一起
10
8
6
4
2
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Warning: Failure at t=1.570740e+000. Unable to meet integration tolerances without reducing the step size below the smallest value allowed (5.580388e-015) at time t. (Type "warning off MATLAB:ode45:IntegrationTolNotMet" to suppress this warning.) > In C:\MATLAB6p5\toolbox\matlab\funfun\ode 45.m at line 335
60
40
20
0 5 4 3 2 1 -4 -2 2 0 4
(2) Mesh(x,z)
画网格曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值

画出曲面Z=(X+Y).^2在的网格图.
解 x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z)
1
1.5
2
例 在[-2,2]范围内绘制函数tanh的图形 解 fplot(‘tanh’,[-2,2])
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
例 x、y 的取值范围都在[-2 ,2 ], 画函数 tanh(x),sin(x),cos(x)的图形
0
-5
-10
-15 -1.5
-1
-0.5
0
0.5
1
1.5
1500
x=-2:0.01:2; plot(x,tan(x))
1000
500
0
-500
-1000
-1500 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
12
x 10
13
f1=inline('1+y^2','x','y'); [x,y]=ode45(f1,[0,10],0); plot(x,y,'r'),grid on
40
30
20
10
0 1 0.5 0 -0.5 -1 -1 -0.5 0.5 0 1
2、多条曲线 PLOT3(x,y,z)
其中x,y,z是都是m*n矩阵,其对应的每一列表示一条曲线.
例 画多条曲线观察函数Z=(X+Y).^2.
解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z)
(1) ezplot
ezplot(‘f(x)’,[a,b])
表示在a<x<b绘制显函数f=f(x)的函数图
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
表示在区间xmin<x<xmax和 ymin<y<ymax绘制
隐函数f(x,y)=0的函数图
ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程 x=x(t),y=y(t)的函数图
10
10
10
8
10
6
10
4
10
2
10
0
0
1
2
3
4
5
6
7
8
9
10
例 绘制y=x3的函数图、对数坐标图、半对数坐标图
x=[1:1:100]; subplot(2,3,1); plot(x,x.^3); grid on; title 'plot-y=x^3'; subplot(2,3,2); loglog(x,x.^3); grid on; title 'loglog-logy=3logx'; subplot(2,3,3); plotyy(x,x.^3,x,x); grid on; title 'plotyy-y=x^3,logy=3logx';
exp(x)+sin(x y) = 0 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -2
y
-1.5
-1 x
-0.5
0
0.5
(2) fplot
fplot(‘fun’,lims)
表示绘制字符串fun指定的函数在 lims=[xmin,xmax]的图形.
注意: [1] fun必须是M文件的函数名或是独立变量为 x的字符串. [2] fplot函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形。
相关文档
最新文档