MATLAB作图(超详细)解读

合集下载

Matlab实验报告(三)-MATLAB绘图

Matlab实验报告(三)-MATLAB绘图

实验目的1.掌握MATLAB的基本绘图命令。

2.掌握运用MATLAB绘制一维、二维、三维图形的方法.3.给图形加以修饰。

一、预备知识1.基本绘图命令plotplot绘图命令一共有三种形式:⑴plot(y)是plot命令中最为简单的形式,当y为向量时,以y的元素为纵坐标,元素相应的序列号为横坐标,绘制出连线;若y为实矩阵,则按照列绘出每列元素和其序列号的对应关系,曲线数等于矩阵的列数;当y为复矩阵时,则按列以每列元素的实部为横坐标,以虚部为纵坐标,绘出曲线,曲线数等于列数。

⑵ plot(x,y,[linspec])其中linspec是可选的,用它来说明线型。

当x和y为同维向量时,以x为横坐标,y为纵坐标绘制曲线;当x是向量,y是每行元素数目和x维数相同的矩阵时,将绘出以x为横坐标,以y中每行元素为纵坐标的多条曲线,曲线数等于矩阵行数;当x为矩阵,y为相应向量时,使用该命令也能绘出相应图形。

⑶ plot(x1,y1,x2,y2,x3,y3……)能够绘制多条曲线,每条曲线分别以x和y为横纵坐标,各条曲线互不影响。

线型和颜色MATLAB可以对线型和颜色进行设定,线型和颜色种类如下:线:—实线:点线 -.虚点线——折线点:.圆点 +加号 *星号 x x型 o 空心小圆颜色:y 黄 r 红 g 绿 b 蓝 w 白 k 黑 m 紫 c 青特殊的二维图形函数表5 特殊2维绘图函数[1] 直方图在实际中,常会遇到离散数据,当需要比较数据、分析数据在总量中的比例时,直方图就是一种理想的选择,但要注意该方法适用于数据较少的情况。

直方图的绘图函数有以下两种基本形式。

·bar(x,y) 绘制m*n 矩阵的直方图.其中y 为m *n 矩阵或向量,x 必须单向递增。

·bar(y) 绘制y 向量的直方图,x 向量默认为x=1:m close all; %关闭所有的图形视窗。

x=1:10;y=rand (size(x )); bar(x,y ); %绘制直方图.123456789100.51Bar()函数还有barh ()和errorbar ()两种形式,barh()用来绘制水平方向的直方图,其参数与bar()相同,当知道资料的误差值时,可用errorbar ()绘制出误差范围,其一般语法形式为:errorbar (x,y,l,u)其中x,y 是其绘制曲线的坐标,l ,u 是曲线误差的最小值和最大值,制图时,l 向量在曲线下方,u 向量在曲线上方。

第5讲 MATLAB绘图

第5讲  MATLAB绘图

(2) 对于隐函数f = f(x,y),ezplot函数的调 用格式为: ezplot(f):在默认区间-2π<x<2π和-2π <y<2π绘制f(x,y) = 0的图形。 ezplot(f, [xmin,xmax,ymin,ymax]):在区 间xmin<x<xmax和ymin<y<ymax绘制f(x,y) = 0的图形。 ezplot(f, [a,b]):在区间a<x<b和a<y< b绘 制f(x,y) = 0的图形。
例5-1 在0≤x≤2区间内,绘制曲线 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 在0≤t≤2区间内,绘制曲线 x=tsin(3t) y=tsin2t 程序如下: t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);
plot 函数最简单的调用格式是只包含一 个输入参数: plot(x) 在这种情况下,当 x 是实向量时,以该 向量元素的下标为横坐标,元素值为纵坐标 画出一条连续曲线,这实际上是绘制折线图。
(3) 对只包含一个输入参数的plot函数, 当输入参数是实矩阵时,则按列绘制每列元 素值相对其下标的曲线,曲线条数等于输入 参数矩阵的列数。 当输入参数是复数矩阵时,则按列分别 以元素实部和虚部为横、纵坐标绘制多条曲 线。
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,…)

第2章 MATALAB编程与作图

第2章 MATALAB编程与作图

100000
例 3 求解级数求和问题
S

(
1 2
i

1 3
i
)
i1
s=0; for i=1:100000 s=s+1/2^i+1/3^i;
end s
多重嵌套循环语句:
例 3 m 1,....5, n 1,...5, 求由 m 和 n 对应的元素和构成的矩 阵 H。
for m=1:5
for n=1:5
H(m,n)=m+n end end H
1.2 while语句 与for循环以固定次数求一组命令相反,while循环以 不定的次数求一组语句的值. while 表达式(expression) 循环体{commands} end 只要在表达式(expression)里的所有元素为真, 就执行while和end语句之间的命令串{commands},执行完 成后再判断表达式是否为真,若不是则跳出循环体,向下 继续执行。
1. 函数M文件
MATLAB的内部函数是有限的,有时为了研究某 一个函数的各种性态,需要为MATLAB定义新函数, 为此必须编写函数文件. 函数文件是文件名后缀为M 的文件,这类文件的第一行必须是一特殊字符 function开始,格式为: function 因变量名=函数名(自变量名) 函数值的获得必须通过具体的运算实现,并赋给因变 量.
例如:function cxd1(A,B) try X=A*B catch disp`**Error cxd1 A*B` end
输入矩阵A、B的值,执行上面的程序,当A的列数不等于B的行 数时,程序就会发现这个错误,并打印消息 **Error cxd1 A*B 。
数 学 建 模

第三章 利用MATLAB绘制函数图形

第三章 利用MATLAB绘制函数图形

四、特殊平面图形的绘制
五、三维曲线图形
plot3
如果输入自变量是三个大小相同的矩阵 x、y、z,那么 plot3 会
依序画出每个行矢量在三维空间所对应的曲线
格式:plot3(x1,y1,z1,S1, x2,y2,z2,S2,…) 说明:一次和绘制多条曲线
ezplot3
空间曲线的简易绘图命令
polar(theta,rho,'--r')

% 进行极坐标绘图
用ezpolar作图,输入: ezpolar('5*(1-sin(theta)')
四、特殊平面图形的绘制
hist指令
绘制统计直方图,对大量的资料,显示资料的分布情况和统计特性 格式:hist(Y, n) %n是一个标量,表明使用n个箱子. 将资料依大小分成数堆,将每堆的个数画出 例12:>> x=randn(500,1); %产生500个正态分布随机数 hist(x,25) %将数据绘制成25个直方
>> x= 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x)); subplot(2, 2, 2); plot(x, cos(x)); subplot(2, 2, 3); plot(x, exp(-x/3)); subplot(2, 2, 4); plot(x, x.^2);
注:还可直接输入 ezplot3('x','x*sin(x)*cos(x)','x*cos(x)*cos(x)',[0,20]).
举例—三维绘图
例15:同时绘制两条空间曲线. >> t = linspace(0, 10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t); % 同时画两条曲线

第二章 MATLAB绘图

第二章  MATLAB绘图

说明:
(1)当x,y是同维矩阵时,则以x,y对应列元素为
横、纵坐标分别绘制曲线,曲线条数等于矩阵
的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横
坐标。
(3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
对图形窗口灵活分割。请看下面的程序。
x=linspace(0,2*pi,60);
y=sin(x);z=cos(x);
t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); stairs(x,y); title('sin(x)-1');axis ([0,2*pi,-1,1]); %选择2×2个区中的1号区
2.2.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例2.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x));
再用fplot函数绘制myf.m函数的曲线:
例2.6 用图形保持功能在同一坐标内绘制曲线
y=2e-0.5xsin(2πx)及其包络线,并加网格线。
程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'b:'); axis([0,2*pi,-2,2]); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,'k'); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持

第四章___matlab_绘图

第四章___matlab_绘图

例,绘制阶梯曲线 x=0:pi/20:2*pi;y=sin(x);stairs(x,y)
1
0 .8
0 .6
0 .4
0 .2
0
-0 .2
-0 .4
-0 .6
-0 .8
-1
0
1
2
3
4
5
6
7
例:阶梯绘图
h2=[1 1;1 -1];h4=[h2 h2;h2 -h2]; h8=[h4 h4;h4 -h4];t=1:8; subplot(8,1,1);stairs(t,h8(1,:));axis('off') subplot(8,1,2);stairs(t,h8(2,:));axis('off') subplot(8,1,3);stairs(t,h8(3,:));axis('off') subplot(8,1,4);stairs(t,h8(4,:));axis('off') subplot(8,1,5);stairs(t,h8(5,:));axis('off') subplot(8,1,6);stairs(t,h8(6,:));axis('off') subplot(8,1,7);stairs(t,h8(7,:));axis('off') subplot(8,1,8);stairs(t,h8(8,:));axis('off')
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4
y
y1 y2
例 3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5'])

matllab作图

matllab作图

定制坐标
图形保持 分割窗口
缩放图形
改变视角


返回
处理图形
1、在图形上加格栅、图例和标注
(1)GRID ON: 加格栅在当前图上
GRID OFF: 删除格栅
(2)hh = xlabel(string): 在当前图形的x轴上加图例string hh = ylabel(string): 在当前图形的y轴上加图例string hh = zlabel(string): 在当前图形的z轴上加图例string
例 画出曲面Z=(X+Y).^2在不同视角的网格图. 解 x=-3:0.1:3; y=1:0.1:5; Matlab liti10 [X,Y]=meshgrid(x,y); Z=(X+Y).^2; 返回 subplot(2,2,1), mesh(X,Y,Z) subplot(2,2,2), mesh(X,Y,Z),view(50,-34) subplot(2,2,3), mesh(X,Y,Z),view(-60,70) subplot(2,2,4), mesh(X,Y,Z),view(0,1,1)
liti40
(2) fplot
fplot(‘fun’,lims)
表示绘制字符串fun指定的函数在 lims=[xmin,xmax]的图形.
注意: [1] fun必须是M文件的函数名或是独立变量为 x的字符串. [2] fplot函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形。
例 在[-1,2]上画 y e
Matlab
liti37
Matlab
liti38
例 绘制y=x3的函数图、对数坐标图、半对数坐标图
Matlab
liti22

最全的MATLAB绘图命令

最全的MATLAB绘图命令

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。

此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。

本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。

可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。

二维图形的绘制是其他绘图操作的基础。

一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。

1. plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y 坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。

plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。

例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。

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

例 在[0,2 π ]用红线画sin x,用绿圈画cos x. 解 MATLAB liti1
x=linspace(0,2*pi,30);% %(30等分) y=sin(x); z=cos(x); plot(x,y,'r',x,z, 'go')
1 0.8 0.6 0.4 0.2 0 -0.2 2018/10/19 -0.4
解 输入命令
MATLAB liti40
ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
2018/10/19 数学建模
(2) fplot
fplot(‘fun’,lims)
表示绘制字符串fun指定的函数在 lims=[xmin,xmax]的图形.
注意: [1] fun必须是M文件的函数名或是独立变量为 x的字符串. [2] fplot函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形.
MATLAB liti37
MATLAB liti38
例 绘制y=x3的函数图、对数坐标图、半对数坐标图.
2018/10/19
MATLAB liti22
数学建模
返回
三维图形 1. 空间曲线 2. 空间曲面
返回
2018/10/19 数学建模
空 1. 一条曲线


线
plot3(x,y,z,s)
n维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值 例 指定颜色、 线形等
2018/10/19 数学建模
例 用方形标记创建一个简单的loglog. 解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅
例 创建一个简单的半对数坐标图. 解 输入命令: x=0:.1:10; semilogy(x,10.^x)
在区间[0,10π]画出参数曲线 x=sint,y=cost, z=t. 解 t=0:pi/50:10*pi; MATLAB liti8 plot3(sin(t),cos(t),t) rotate3d %旋转
2018/10/19 数学建模
2. 多条曲线 plot3(x,y,z)
例 画多条曲线观察函数Z=(X+Y)2.
例 在[-2,2]范围内绘制函数tan的图形. 解 fplot(‘tan’,[-2,2])
MATLAB liti28
例 x、y 的取值范围都在[-2 π ,2 π ], 画函数 tanh(x),sin(x),cos(x)的图形.
MATLAB liti42 解 输入命令: fplot(‘[tan(x),sin(x),cos(x)]’,2*pi*[-1 1 –1 1])
数学建模与数学实验
MAቤተ መጻሕፍቲ ባይዱLAB作图
2018/10/19
数学建模
二维图形
三维图形
图形处理
实例
特殊二、三维图形
作 业
2018/10/19 数学建模
1.曲线图 MATLAB作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标),然 后将该点集的坐标传给MATLAB函数画图.
返回
2018/10/19 数学建模

(1)



surf(x,y,z) 画出数据点(x,y,z)表示的曲面
x
数学建模
2.符号函数(显函数、隐函数和参数方程)画图
(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绘制
MATLAB liti25
例 在[0,2 π ]上画 x cos3 t , y sin 3 t 星形图.
解 输入命令

MATLAB liti41
ezplot(‘cos(t)^3’,’sin(t)^3’,[0,2*pi])
在[-2,0.5],[0,2]上画隐函数 e x sin(xy) 0 的图.
2018/10/19 数学建模
例 在[-1,2]上画 y e2 x sin(3x2 ) 的图形. 解 先建M文件myfun1.m:
function Y=myfun1(x) Y=exp(2*x)+sin(3*x.^2)
MATLAB liti43
再输入命令: fplot(‘myfun1’,[-1,2])
解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z) MATLAB liti9
其中x,y,z是都是m×n矩阵,其对应的每一列表示一条曲线.
(这里meshgrid(x,y)的作用 是产生一个以向量x为列、向量y 为行的矩阵即41*61矩阵)
2018/10/19 数学建模
3. 对数坐标图
在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数 可以实现双对数坐标转换,用semilogx和semilogy 函数可以实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系 semilogx(Y) 表示 x坐标轴是对数坐标系 semilogy(…) 表示y坐标轴是对数坐标系 plotyy 有两个y坐标轴,一个在左边,一个在右边
命令为: plot(X,Y,S)
•y •m •c -. + 黄色 . 点 洋红 o 圈 蓝绿色 x 长短线 r 加号 -- 连线 : 短虚线 x-符号 红色 长虚线
线型
X,Y是向量,分别表示点集的横坐标和纵坐标
plot(X,Y)— 画实线 plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn) 2018/10/19 数学建模 — 将多条线画在一起
隐函数f(x,y)=0的函数图.
ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程 x=x(t),y=y(t)的函数图.
2018/10/19 数学建模
例 在[0, π]上画y=cos x 的图形. 解 输入命令
ezplot(‘sin(x)’,[0,pi])
相关文档
最新文档