matlab的一些画图技巧(可编辑修改word版)

matlab的一些画图技巧(可编辑修改word版)
matlab的一些画图技巧(可编辑修改word版)

二维作图

绘图命令plot 绘制x-y 坐标图;loglog 命令绘制对数坐标图;semilogx 和semilogy 命令绘制半对数坐标图;polor 命令绘制极坐标图.

基本形式

如果y 是一个向量,那么plot(y)绘制一个y 中元素的线性图.假设我们希望画出

y=[0., 0.48, 0.84, 1., 0.91, 6.14 ]

则用命令:plot(y)

它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y 的下标编号, n 为向量y 的长度

Matlab 会产生一个图形窗口,显示如下图形,请注意:坐标x 和y 是由计算机自动绘出的.

图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

matlab 中如何在指定一点画一个填充颜色的小圆

plot(1,1,'r.','markersize',50)

x=0:0.05:4*pi;

y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ')

结果见下图.

图4.1.1.2 y=sin(x)的图形

title 图形标题 xlabel x 坐标轴标注 ylabel y 坐标轴标注 text

标注数据点

上面的图形没有加上 x 轴和 y 轴的标注,也没有标题.用 xlabel ,ylabel ,title

命令可以加上.

如果x ,y 是同样长度的向量,plot(x,y)命令可画出相应的 x 元素与y 元素的 x-y

坐标图.例:

多重线

在一个单线图上,绘制多重线有三种办法.

第一种方法是利用 plot 的多变量方式绘制:

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

x1,y1,x2,y2,...,xn,yn 是成对的向量,每一对 x, y 在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用 plot 绘制,但加上 hold on/off 命令的配合:

plot(x1,y1) hold on plot(x2,y2) hold off

第三种方法还是利用 plot 绘制,但代入矩阵:

表4.1.1.1 Matlab 图形命令

保持图形窗口的图形

hold

给图形加上网格 grid legend 在右上角加解释

文字

如果plot 用于两个变量plot(x,y),并且x,y 是矩阵,则有以下情况:(1)如果y 是矩阵,x 是向量,plot(x,y)用不同的画线形式绘出y 的行或列及相应的x 向量,y 的行或列的方向与x 向量元素的值选择是相同的.(2)如果x 是矩阵,y 是向量,则除了x 向量的线族及相应的y 向量外,以上的规则也适用.

(3)如果x,y 是同样大小的矩阵,plot(x,y)绘制x 的列及y 相应的列.还有其它一些情况,请参见Matlab 的帮助系统.

线型和颜色的控制

如果不指定划线方式和颜色,Matlab 会自动为您选择点的表示方式及颜色.您也可以用不同的符号指定不同的曲线绘制方式.例如:

plot(x,y,'*') 用'*'作为点绘制的图形.

plot(x1,y1,':',x2,y2,'+') 用':'画第一条线,用'+'画第二条线.

线型、点标记和颜色的取值有以下几种:

线型点标记颜色

- 实线. 点y 黄

: 虚线o 小圆圈m 棕色

-. 点划线x 叉子符 c 青色

-- 间断线+ 加号r 红色

* 星号g 绿色

x=sin(t); y=cos(t);

plot(t,x, '+r',t,y, '-b')

图4.1.3.1不同线型、颜色的 sin,cos 图形

t=-3.14:0.2:3.14; 例如:

如果你的计算机系统不支持彩色显示,Matlab 将把颜色符号解释为线型符 号,用不同的线型表示不同的颜色.颜色与线型也可以一起给出,即同时指定曲线的颜色和线型. 表4.1.3.1线型和颜色控制符

h

六角星

p 五角星 < 朝左三角 > 朝右三角 v 朝下三角 黑色

朝上三角 k ^ w

白色 d 菱形

蓝色 b s 方格

对数图、极坐标图及条形图

loglog、semilogx、semilogy 和polar 的用法和plot 相似.这些命令允许数据在不同的graph paper 上绘制,例如不同的坐标系统.先介绍的fplot 是扩展来的可用于符号作图的函数.

●fplot(fname,lims)绘制fname 指定的函数的图形.

●polar( theta, rho)使用相角theta 为极坐标形式绘图,相应半径为rho,其

次可使用grid 命令画出极坐标网格.

●loglog 用log10-log10标度绘图.

●semilogx 用半对数坐标绘图,x 轴是log10,y 是线性的.

●semilogy 用半对数坐标绘图,y 轴是log10,x 是线性的.

●bar(x)显示x 向量元素的条形图,bar 不接受多变量.

●hist 绘制统计频率直方图.

●histfit(data,nbins)绘制统计直方图与其正态分布拟合曲线.

fplot 函数的绘制区域为lims=[xmin,xmax],也可以用

lims=[xmin,xmax,ymin,ymax]指定y 轴的区域.函数表达式可以是一个函数名,如sin,tan 等;也可以是带上参数x 的函数表达式,如sin(x),diric(x,10);也可以是一个用方括号括起的函数组,如[sin, cos].

例1:fplot('sin',[0 4*pi])

例2:fplot('sin(1 ./ x)', [0.01 0.1])

例3:fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi],'-o')

例4:fplot('[sin(x), cos(x) , tan(x)]',[-2*pi 2*pi -2*pi 2*pi]) %%(图4.1.4.1)

图4.1.4.1 sin,cos,tan 函数图形图4.1.4.2半对数图

下面介绍的是其它几个作图函数的应用.

例5:半对数坐标绘图

t=0.001:0.002:20;

y=5 + log(t) + t;

semilogx(t,y, 'b')

t=0:0.01:2*pi;

polar(t,sin(6*t))

%% (图4.1.4.3)

图4.1.4.3极坐标绘图 图4.1.4.4正态分布的统计直方图与其正态分布拟合曲线

例7:正态分布图

我们可以用命令 normrnd 生成符合正态分布的随机数.

normrnd(u,v,m,n)

其中,u 表示生成随机数的期望,v 代表随机数的方差. 运行:

a=normrnd(10,2,10000,1);

histfit(a)

%% (图4.1.4.4)

hold on

semilogx(t,t+5, 'r')

%% (图4.1.4.2)

例6:极坐标绘图

我们可以得到正态分布的统计直方图与其正态分布拟合曲线.

例8:比较正态分布(图4.1.4.5(1))与平均分布(图4.1.4.5(2))的分布图:yn=randn(30000,1); %%正态分布

x=min(yn) : 0.2 : max(yn);

subplot(121)

hist(yn, x)

yu=rand(30000,1); %%平均分布

subplot(122)

hist(yu, 25)

4.1.4.5(1) 4.1.4.5(2)

图4.1.4.5正态分布与平均分布的分布图

在绘图过程中,经常要把几个图形在同一个图形窗口中表现出来,而不是简单地叠加(例如上面的例8).这就用到函数subplot.其调用格式如下:subplot(m,n,p)

subplot 函数把一个图形窗口分割成m×n 个子区域,用户可以通过参数p 调用个各子绘图区域进行操作.子绘图区域的编号为按行从左至右编号.

例9:绘制子图

x=0:0.1*pi:2*pi;

subplot(2,2,1)

plot(x,sin(x),'-*');

title('sin(x)');

subplot(2,2,2)

plot(x,cos(x),'--o');

title('cos(x)');

subplot(2,2,3)

plot(x,sin(2*x),'-.*');

title('sin(2x)');

subplot(2,2,4);

plot(x,cos(3*x),':d')

title('cos(3x)')

得到图形如下:

图4.1.5.1子图

利用二维绘图函数patch,我们可绘制填充图.绘制填充图的另一个函数为fill.

下面的例子绘出了函数humps(一个Matlab 演示函数)在指定区域内的函数图形.

例10:用函数patch 绘制填充图

fplot('humps',[0,2],'b')

hold on

patch([0.5 0.5:0.02:1 1],[0 humps(0.5:0.02:1) 0],'r');

hold off

title('A region under an interesting function.')

grid

图4.1.6.1填充图

我们还可以用函数fill 来绘制类似的填充

图.例11:用函数fill 绘制填充图

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

y=sin(x);

x1=0:pi/60:1;

y1=sin(x1);

plot(x,y,'r');

hold on

fill([x1 1],[y1 0],'g')

图4.1.6.2填充图

三维作图

mesh(Z)语句可以给出矩阵Z 元素的三维消隐图,网络表面由Z 坐标点定义,与前面叙述的x-y 平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数据的大型矩阵,也可用来绘制Z 变量函数.显示两变量的函数Z=f(x,y),第一步需产生特定的行和列的x-y 矩阵.然后计算函数在各网格点上的值.最后用mesh 函数输出.

下面我们绘制sin(r)/r 函数的图形.建立图形用以下方法:

x=-8:.5:8;

y=x';

x=ones(size(y))*x;

y=y*ones(size(y))';

R=sqrt(x.^2+y.^2)+eps;

z=sin(R)./R;

mesh(z) %% 试运行mesh(x,y,z),看看与mesh(z)有什么不同之处?(坐标问题)

各语句的意义是:首先建立行向量x,列向量y;然后按向量的长度建立1- 矩阵;用向量乘以产生的1-矩阵,生成网格矩阵,它们的值对应于x-y 坐标平面;接下来计算各网格点的半径;最后计算函数值矩阵Z.用mesh 函数即可以得到图形.

图4.2.1三维消隐图

第一条语句x 的赋值为定义域,在其上估计函数;第三条语句建立一个重复行的x 矩阵,第四条语句产生y 的响应,第五条语句产生矩阵R(其元素为各网格点到原点的距离).用mesh 方法结果如上.

(1) meshc 与函数

mesh 的调用方式相同,只是该函数在 mesh 的基础上又

增加了绘制相应等高线的功能.下面来看一个 meshc 的例子:

[x,y]=meshgrid([-4:.5:4]); z=sqrt(x.^2+y.^2); meshc(z) %% 试运行 meshc(x,y,z),看看与 meshc(z)有什么不同之

处?

我们可以得到图形:

图4.2.2.1 meshc 图

地面上的圆圈就是上面图形的等高线.

另外,上述命令系列中的前4行可用以下一条命令替代:

[x, y]=meshgrid(-8:0.5:8)

[x,y]=meshgrid([-4:.5:4]); z=sqrt(x.^2+y.^2);

meshz(z) %% 试运行meshz(x,y,z),看看与meshz(z)有什么不同之处?

我们得到图形:

图4.2.2.2 meshz 图

(1)在Matlab 中有一个专门绘制圆球体的函数sphere,其调用格式如下:

(2)函数meshz 与mesh 的调用方式也相同,不同的是该函数在mesh 函数的作用之上增加了屏蔽作用,即增加了边界面屏蔽.例如:

此函数生成三个(n+1)×

(n+1)阶的矩阵,再利用函数surf(x,y,z)可生成单位

球面.

[x,y,z]=sphere 此形式使用了默认值n=20

sphere(n) 只绘制球面图,不返回值.

运行下面程序:

sphere(30);

axis square;

我们得到球体图形:

图4.2.3.1 球面图

若只输入sphere 画图,则是默认了n=20的情况.

(2) surf 函数也是Matlab 中常用的三维绘图函数.其调用格式如下:

[x,y,z]=sphere(n)

%绘制地球表面的气温分布示意

图.[a,b,c]=sphere(40);

t=abs(c); %求绝对值

surf(a,b,c,t);

axis equal

colormap('hot')

我们可以得到图形如下:

surf(x,y,z,c)

输入参数的设置与mesh 相同,不同的是mesh 函数绘制的是一网格图,而surf 绘制的是着色的三维表面.Matlab 语言对表面进行着色的方法是,在得到相应网格后,对每一网格依据该网格所代表的节点的色值(由变量c 控制),来定义这一网格的颜色.若不输入c,则默认为c=z.

我们看下面的例子:

图4.2.3.2 等温线示意图

(1)坐标轴的控制函数axis,调用格式如下:

axis([xmin,xmax,ymin,ymax,zmin,zmax])

用此命令可以控制坐标轴的范围.

与axis 相关的几条常用命令还有:

axis auto 自动模式,使得图形的坐标范围满足图中一切图元素

axis equal 严格控制各坐标的分度使其相等

axis square 使绘图区为正方形

axis on 恢复对坐标轴的一切设置

axis off 取消对坐标轴的一切设置

axis manual 以当前的坐标限制图形的绘制

(2)grid on 在图形中绘制坐标网格.

grid off 取消坐标网格.

(3)xlabel, ylabel, zlabel 分别为x 轴, y 轴, z 轴添加标注.title 为图形添加标题.

以上函数的调用格式大同小异,我们以xlabel 为例进行介绍:

xlabel('标注文本','属性1','属性值1','属性2','属性值2',…)

这里的属性是标注文本的属性,包括字体大小、字体名、字体粗细等.

例如:

[x, y]=meshgrid(-4:.2:4);

R=sqrt(x.^2+y.^2);

z=-cos(R);

mesh(x,y,z)

xlabel('x\in[-4,4]','fontweight','bold');

ylabel('y\in[-4,4]','fontweight','bold');

zlabel('z=-cos(sqrt(x^2+y^2))','fontweight','bold');

title('旋转曲面','fontsize',15,'fontweight','bold','fontname','隶书');

Matlab常用操作、绘图等小知识

Matlab 小知识 1、翻转fliplr(左右)、flipud(上下) fftshift()上下左右 fftshift(,1)对行(row)同时操作,引起列的变化(不是简单的上下) 类似fpliud fftshift(,2)对列(column)同时操作,引起行的变化(不是简单的左右) 类似fplilr eg:a=[1 2 3;4 5 6; 7,8 9]; fliplr=321 654 987 flipud= 789 456 123 fftshift=978 312 645 fftshift(a,1)= 789 123 456 fftshift(a,2)= 312 645 978 2、data:Naz*Nrg,行为方位向,列为距离向 fft(,[],1)同时对一列进行fft,在SAR数据处理中为方位向FFT,变换到距离时域,方位频域(距离-多普勒域)== fft() fft(,[],2)同时对一行进行fft,在SAR数据处理中为距离向FFT,变换到距离频域,方位时域。== fft(x.’).’ fft(,[],1) + fft(,[],2) = fft2() 3、conj(共轭) conv(卷积) 4、imagesc,colormap(gray) 5、转置:“’” 对于复数为共轭转置,若要只转置不取共轭,则应该是“.’” 对于实数,“’”即可实现转置。 6、对于有复数j的程序,在循环中切忌再次使用j作为循环变量,同理,不可再次定义变量j进行其他运算。 7、算法优化: a) sinc(1:100)比单独计算sinc(1)…sinc(100)快N倍; b) 如果遇到a^2*b^2,则可以先计算(a*b)再对乘积求平方; 8、eps 计算机最小正数,在pc机上,它等于2e-52。 9、保存的指令格式 (1)save 工作间中的所有变量保存在磁盘上名为matlab.mat 的文件中。(2)save [文件名] [变量名] 将指定的变量保存在指定文件中,如: save temp x y z 把x,y,z 这三个变量保存在文件temp.mat 中。在下次加载MATLAB 时可以利用load 指令将保存在文件中的变量恢复到工作间中其格式有: (1)load 将保存在matlab.mat 中的变量装入到MATLAB 工作间中。 (2)load [文件名] [变量名] 从指定的文件中将指定的变量装入。 save e:\mydir\data AR load e:\mydir\data AR 10、reshape(变量,行,列) 11、取整函数: fix朝零方向取整ceil 朝正无穷大方向取整

Matlab中使用Plot函数动态画图方法

%% %先画好,然后更改坐标系 %在命令行中使用 Ctrl+C 结束 t=0:0.1:100*pi; m=sin(t); plot(t,m); x=-2*pi; axis([x,x+4*pi,-2,2]); grid on while 1 if x>max(t) break; end x=x+0.1; axis([x,x+4*pi,-2,2]); %移动坐标系 pause(0.1); end %% % Hold On 法 % 此种方法只能点,或者分段划线 hold off t=0; m=0; t1=[0 0.1]; %要构成序列 m1=[sin(t1);cos(t1)]; p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:100 hold on t=0.1*i; %下一个点 m=t-floor(t); t1=t1+0.1; %下一段线(组) m1=[sin(t1);cos(t1)]; p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.01); end

%% %采用背景擦除的方法,动态的划点,并且动态改变坐标系% t,m 均为一行,并且不能为多行 t=0; m=0; p = plot(t,m,'*',... 'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=0.1*i; %两个变量均不追加 m=sin(0.1*i); set(p,'XData',t,'YData',m) x=x+0.1; drawnow axis([x x+2*pi -1.5 1.5]); pause(0.1); end %% %采用背景擦除的方法,动态的划线,并且动态改变坐标系% 多行划线 t=[0] m=[sin(t);cos(t)] p = plot(t,m,... 'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=[t 0.1*i]; %Matrix 1*(i+1) m=[m [sin(0.1*i);cos(0.1*i)]]; %Matrix 2*(i+1) set(p(1),'XData',t,'YData',m(1,:)) set(p(2),'XData',t,'YData',m(2,:)) drawnow x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.5);

实验五MATLAB的基本绘图方法

实验三MATLAB的基本绘图方法 一、实验目的 1.二维平面图形的绘制 2.三维立体图形的绘制 3.隐函数作图 二、实验地点:A404 三、实验日期: 四、实验内容 (一)二维平面图形的绘制 1、Plot的使用方法介绍 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m×n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,…元素为纵坐标值绘制多条曲线。 例1:画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 注:在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MA TLAB 软件专门提供了这方面的参数选项,我们只要在每个坐标后加上相关字符串,就可实现它们的功能。具体参见教材。 2、图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 图形修饰函数表如下: 函数含义 grid on (/off) 给当前图形标记添加(取消)网络 xlable(‘string’) 标记横坐标 ylabel(‘string’) 标记纵坐标 title(‘string’) 给图形添加标题 text(x,y,’string’) 在图形的任意位置增加说明性文本信息 gtext(‘string’) 利用鼠标添加说明性文本信息 axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值 例2、给例1的图形中加入网络和标记。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)

matlab画图技巧方法

matlab绘图的一些技巧 1.在坐标轴上任意标上感兴趣的刻度。 用XTick、YTick、ZTick。如图1. 如:x=0:0.1:10;y=x.^2;h=plot(x,y,'o',x,y);set(gca,'YTick',[0,10,25,50,80,99],'XTick',[0.5,8,10]); 用XTickLabel、YTickLabel、ZTickLabel属性把标记标签从数值改为字符串。如图2. 如将y轴上的值80用字符串代替:x=0:0.1:10;y=x.^2;h=plot(x,y,'o',x,y); set(gca,'YTickLabel','0|10|25|50|cutoff|99'); 图1 图2 2.使用多个x轴和y轴

XAxisLocation和YAxisLocation属性指定在图形的哪一侧放置x轴和y轴。如图3. x1=0:0.01:10;y1=sin(x1); h1=line(x1,y1,'Color','r'); ax1=gca;set(ax1,'XColor','r','YColor','r'); ax2=axes('Position',get(ax1,'Position'),'XAxisLocation','top','YAxisLocation','right','Color','none',' XColor','k','YColor','k'); x2=x1;y2=cos(x2); h2=line(x2,y2,'Color','k','Parent',ax2); 图3 3.连接图形与变量(更新自变量或因变量的值) 用数据源属性XDataSource、YDataSource、ZDataSource及refreshdata.可以做动画。 t=0:0.01:2*pi; y=exp(sin(t)); h=plot(t,y,'YDataSource','y'); for k=1:0.1:20 y=exp(sin(t.*k)); refreshdata(h,'caller'); drawnow; pause(0.1); end 4.创建组(Hggroup)对象 将每个Hggroup子对象的HitTest属性值设置为off,使得单击任何子对象时,可以选择所有子对象。

(完整版)matlab的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) 二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polor命令绘制极坐标图. 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title 命令可以加上. 如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title图形标题 xlabel x坐标轴标注 ylabel y坐标轴标注 text标注数据点

legend 在右上角加解释 文字 grid给图形加上网格 hold保持图形窗口的图形 表4.1.1.1 Matlab图形命令 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上.第二种方法也是利用plot绘制,但加上hold on/off命令的配合:plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵:

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍 本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。 plot是绘制一维曲线的基本函数,但在 使用此函数之前,我们需先定义曲线上每一 点的x 及y座标。 下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 若要画出多条曲线,只需将座标对依次放入plot函数即可: hold on 保持当前图形,以便继续画图到当前坐标窗口 hold off 释放当前图形窗口 title(’图形名称’)(都放在单引号内) xlabel(’x轴说明’) ylabel(’y轴说明’)

text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即 可: plot(x, sin(x), 'c', x, cos(x), 'g'); 若要同时改变颜色及图线型态,也是在座标对後 面加上相关字串即可: plot(x, sin(x), 'co', x, cos(x), 'g*'); 小整理:plot绘图函数的叁数字元、颜色元、 图线型态, y 黄色 .点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线plot3 三维曲线作图 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); axis函数的功能丰富,其常用的用法有: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形)

matlab的一些画图技巧(可编辑修改word版)

二维作图 绘图命令plot 绘制x-y 坐标图;loglog 命令绘制对数坐标图;semilogx 和semilogy 命令绘制半对数坐标图;polor 命令绘制极坐标图. 基本形式 如果y 是一个向量,那么plot(y)绘制一个y 中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y 的下标编号, n 为向量y 的长度 Matlab 会产生一个图形窗口,显示如下图形,请注意:坐标x 和y 是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14]) matlab 中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50)

x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title 图形标题 xlabel x 坐标轴标注 ylabel y 坐标轴标注 text 标注数据点 上面的图形没有加上 x 轴和 y 轴的标注,也没有标题.用 xlabel ,ylabel ,title 命令可以加上. 如果x ,y 是同样长度的向量,plot(x,y)命令可画出相应的 x 元素与y 元素的 x-y 坐标图.例:

MATLAB二维绘图技巧

MATLAB二维图形绘图入门技巧 一、plot函数 1.plot函数的基本应用格式:

2. 含多个输入参数的plot函数 plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参数的plot函

举例如下: >>X=linspace(5,100,20) % 产生从5到100围的20个等分数据 X = 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 ps:这和X=[5 : 5 : 100]的效果是一样的。 3.plot函数画矩阵 利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。如 >> A=pascal(5) A = 1111 1 1234 5 1 361015 14102035 15153570

4. plot函数生成的图像设置 Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所示:

w 白色 h 六角星 例 用不同的线型和颜色在同一坐标绘制曲线 及其包络线。 >> 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'); 01234567 -2 -1.5-1-0.500.511.52 在该plot 函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y ,第三组用红色五角星离散标出数据点。 几组例子: 指令 图例 Y=[1,3,6,5,9,0,2]; plot(Y);

教你如何用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向量即可输出曲线:

MATLAB 画图技巧

matlab数据可视化(1) 第一节符号函数的函数图 1.平面分图位置函数subplot(nmj)其中:n行m列j编号 2.二维直角坐标符号函数绘图 (1)ezplot(f,[x1,x2]) f:含单变量的符号函数 x1,x2:自变量的取值范围,默认值为[-2pi,2pi] (2)ezplot(‘u(x,y)’,[x1,x2],[y1,y2]) 两变量隐含数u(x,y)=0 [x1,x2],[y1,y2]表示两个变量的取值范围 (3)ezplot(x,y,[t1,t2]) x=f(t),y=g(t)是参数方程 t1,t2:参变量的取值范围(exno25t) exno25t: f=sym('x^2+1') subplot(221) ezplot(f,[-2,+2]) subplot(222) ezplot('y-x^2-1',[-2,+2],[0,10]) x=sym('cos(t)') y=sym('sin(t)') subplot(223)

ezplot(x,y) 3.三维直角坐标符号函数图 ezplot3(x,y,z,[t1,t2]) x=f(t),y=g(t),z=h(t)是参数方程 t1,t2:参变量的取值范围(exno26t) exno26t: x=sym('cos(t)') y=sym('sin(t)') z=sym('t^2') subplot(224) ezplot3(x,y,z,[0,8*pi]) 4.二维平面极坐标符号函数绘图 ezpolar(r,[x1,x2]) 函数r是幅值,自变量是极角,[x1,x2]是极角的取值范围(exno27t)exno27t: r=sym('4*sin(3*x)') ezpolar(r,[0,2*pi])

MATLAB所有画图函数

MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。下面将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲 线上每一点的x及y座标。下例可画出一条正弦曲线: close all;x=linspace(0,2*pi,100);%100个点的x座标 y=sin(x);%对应的y座标 plot(x,y); ==================================================== 小整理:MATLAB基本绘图函数 plot:x轴和y轴均为线性刻度(Linear scale) loglog:x轴和y轴均为对数刻度(Logarithmic scale)semilogx:x轴为对数刻度,y轴为线性刻度 semilogy:x轴为线性刻度,y轴为对数刻度 ==================================================== 若要画出多条曲线,只需将座标对依次放入plot函数即可: plot(x,sin(x),x,cos(x)); 若要改变颜色,在座标对后面加上相关字串即可: plot(x,sin(x),'c',x,cos(x),'g'); 若要同时改变颜色及图线型态(Line style),也是在座标对后面加

上相 关字串即可: plot(x,sin(x),'co',x,cos(x),'g*'); ==================================================== 小整理:plot绘图函数的叁数 字元颜色字元图线型态 y黄色.点 k黑色o圆 w白色x x b蓝色++ g绿色** r红色-实线 c亮青色:点线 m锰紫色-.点虚线 --虚线 ==================================================== 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范 围: axis([0,6,-1.2,1.2]); 此外,MATLAB也可对图形加上各种注解与处理: xlabel('Input Value');%x轴注解

最新MatLab2画图93124

M a t L a b2画图93124

MatLab & 数学建模 第二讲 MatLab图形绘制功能一、二维平面图形 基本绘图函数 hold on 命令用于在已画好的图形上添加新的图形

plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线: x=0:0.001:10; % 0到10的1000个点的x座标 y=sin(x); % 对应的y座标 plot(x,y); % 绘图 Y=sin(10*x); plot(x,y,'r:',x,Y,'b') % 同时画两个函数

?若要改变颜色,在座标对後面加上相关字串即可: x=0:0.01:10; plot(x,sin(x),'r') 若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可: plot(x,sin(x),'r*')

用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围axis([0,6,-1.5,1]) MATLAB也可对图形加上各种注解与处理:

xlabel('x轴'); % x轴注解 ylabel('y轴'); % y轴注解 title('余弦函数'); % 图形标题 legend('y = cos(x)'); % 图形注解 gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线 fplot的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须 要的一组数据做为变数。其语法为fplot('fun',[xmin xmax ymin ymax]),其中fun 为一已定义的函数名称,例如sin, cos等等;而xmin, xmax, ymin, ymax则是设定绘图横轴及纵轴的下限及上限。 以下的例子是将一函数 f(x)=sin(x)/x 在-20> fplot('sin(x)./x',[-20 20 -0.4 1.2]) 【例】画椭圆?Skip Record If...? a = [0:pi/50:2*pi]'; %角度?Skip Record If...? X = cos(a)*3; %参数方程 Y = sin(a)*2; plot(X,Y); xlabel('x'), ylabel('y'); title('椭圆')

MATLAB二维绘图技巧

MATLABX维图形绘图入门技巧、plot函数 l. plot函数的基本应用格式: plot(x,y) %x,y为长度相同的向量,存储x坐标和y坐标。绘图时数据需要对应排序好。 例51 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*si n(2*pi*x); >> plot(x,y) 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*si n( t).*si n(t); >> plot(x,y) 1.5 0.5 -0.5 -1.5

以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。 2. 含多个输入参数的plot函数 plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参数的数调用格式为: plot(x1 , y1, x2, y2,…,xn, yn) 如下列命令可以在同一坐标中画出3条曲线。 >> x=li nspace(0,2*pi,100); >> plot(x,si n(x),x,2*si n(x),x,3*si n(x)) 当输入参数有矩阵形式时,数等于矩阵的列数。 >> x=li nspace(0,2*pi,100); >> y1=si n( x); >> y2=2*s in (x); >> y3=3*s in (x); >> x=[x;x;x]'; >> y=[y1;y2;y3]'; >> plot(x,y,x,cos(x)) -30 2 1 -1 -2 1234567 1.5 1 0.5 -0.5 -1 -1.5 - 2 | 』j -4 -3 -2 -1 0 12 3 4 plot 函配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线, 曲线条

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);

Matlab作图常用设置方法

作图设置 2017年2月19日05:13:43 %Matlab figure 作图有相当强大的功能 %为了使得图片美观,并且符合某些方面的要求,需要对图片进行一些设置 %下举一例,实现几项设置,抛砖引玉 % (1)设置无框(或者有框)透明图标(legend) % (2)输入特殊字符希腊字母 % (3)输入多行文字图注 % (4)自动时间输入 % (5)指定时间格式 % (6)随机输入颜色 clc;clear;clf x=linspace(0,2*pi,101); y=sin(x); plot(x,y); set(gca,'fontsize',11)%设置全图字体,text输入的文本除外 xlabel(' \theta (\circ)'); ylabel('\beta + 3x10^{-3} m') HL=legend('\Gamma'); set(HL,'color','none','box','off')%设置无框(或者有框)透明图标(legend) HT=text(1,0.1,{'Hello World!','白日依山尽','黄河入海流','E= \Deltam c^2'});%输入多行文字图注, %这里使用了{},使得每一行的字符数目可以不必相等

set(HT,'fontsize',18,'color',rand(3,1))%rand(3,1)随机输入颜色 title(datestr(now,'yyyymmmdd HH:MM:SS'))%datestr 自动时间输入指定时间格式 axis([0,2*pi,-1,1]);%xlim([0,2*pi]); ylim([-1,1]) % 后记: % (A)需要画图的数量不多,对图片一致性的要求不是太高时,可以手动在figure窗口设置; % (B) 需要大量作图,或者要求图片的设置完全一致时,可以考虑用程序命令来实现; % (B) 作图设置的命令及其衍生使用方法比较多,刚开始学习使用时不必花费太多功夫; % (C) 把精力放在主要工作上!以后用得多了,慢慢就会熟练; % (D) 遇到不会用程序命令来实现,但是会手动在figure窗口完成的设置; % 可以先手动设置好,然后在figure窗口,点击‘文件’→‘生成代码’,在自动生成的m文件里找到伊人。 % 我是为了要弄一个下载券才编一个这玩意儿的,大家莫笑话。

matlab画图技巧

matlab--三维作图--空间曲面 matlab 2010-09-05 21:44:59 阅读122 评论0 字号:大中小订阅 (1) surf(x,y,z)画出数据点(x,y,z)表示的曲面 x,y,z 数据矩阵.分别表示数据点的横坐标、纵坐标、函数值 例1:画函数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) shading flat %将当前图形变得平滑 rotate3d 运行后所得图形是: (2)mesh(x,y,z) 画网格曲面 x,y,z 数据矩阵.分别表示数据点的横坐标、纵坐标、函数值。 例2:画出曲面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) 运行后所得图形是:

(3)meshz(X,Y,Z)在网格周围画一个curtain图(如,参考平面) 例3:绘peaks的网格图 解:输入命令: [X,Y]=meshgrid(-3:.125:3); Z=praks(X,Y); meshz(X,Y,Z) 运行后所得的图形是:

%特殊图形绘制 x=0:0.2:5; y=2*exp(0.1*x); subplot(2,2,1), bar(x,y,'g'); title('bar(x,y)'); axis([0 5 0 2]); subplot(2,2,2), stairs(x,y,'b'); title('stairs(x,y)'); axis([0 5 0 2]);

自己整理的matlab画图,初学者最快的入门

Matlab中的将几条曲线画在一个坐标系下的方法 subplot:这个函数可以在同一个窗口内画几幅图,但是不在一个坐标系下 如果在一个坐标系下的话,目前我找到了三种方法: (1)用hold on和hold off,画好第一幅图后,用hold on 语句就可以接着在该坐标系下画出其他的曲线图形,画完后再用hold off结束 (2)建一个m行n列的矩阵,每一行代表一条曲线,然后再用一般的画图方法,如plot()函数就可以了 (3)可以直接将两条曲线直接写入plot函数的参数里, 例如 x=linspace(0,2*pi,100); y=sin(x); plot(x,y); z=cos(x); plot(x,y,x,z); 另外,还学会了一些其他的函数 axis用于限定x轴和y轴的范围 semilogy其纵坐标以10的指数为单位 gtext在指定的坐标上写入文本 这几天的画的第一幅图: %瑞利衰落下选择合并的中断率 M=[1 2 3 4 10 20]; initial_r=-10; final_r=40; r_step=0.25; r_in_dB=initial_r:r_step:final_r; v=zeros(length(M),length(r_in_dB)); for j=1:length(M), for i=1:length(r_in_dB), r=10^(r_in_dB(i)/10); Pout(i)=(1-exp(-1/r))^M(j); end; v(j,:)=Pout; end; semilogy(r_in_dB,v); title('瑞利衰落下选择合并的中断率'); xlabel(''); ylabel('Pout'); axis([initial_r,final_r,v(1,length(r_in_dB)),v(1,1)]); %添加每条线的说明 hold on; text(27,0.003,'M=1'); text(15,0.002,'M=2'); text(11,0.0008,'M=3'); text(8.6,0.000415,'M=4'); text(3.2,0.00022,'M=10'); text(0,0.000115,'M=20'); hold off; Matlab中如何修改图形中标注文字的大小? 文中对图形中标注的文字都有规定,Matlab中默认的文字大小可能不满足要求。在找到这个方法之前,俺曾经在很长一段时间内使用笨办法,手工的修改图上文字的大小,每幅图都得来这么一下,挺麻烦的。后来总算找到一个一劳永逸的办法,就是使用gca获得当前绘图坐标的指针,然后用set设定绘图坐标的FontSize属性,这种设定同时对坐标轴标注、图例、标题有效。 下面是一小段实例代码,以飨大家: %---------- test_gca.m ---------------------- figure; % 打开一个绘图窗口 h = gca; % 获取当前绘图坐标的指针 set(h,'FontSize',14); % 设置文字大小,同时影响坐标轴标注、图例、标题等。 % 生成一个正弦曲线 x = 0:0.01:2*pi; y = sin(x); plot(x,y); % 绘图 xlabel('x'); % 横坐标 ylabel('sin(x)'); % 纵坐标 legend('sin(x)'); % 图例 title('正弦曲线'); % 标题

(完整版)matlab的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆plot(1,1,'r.','markersize',50) 二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图; semilogy命令绘制半对数坐标图;polor命令绘制极坐标图. 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图. 画出y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n], 标编号,n为向量y的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标机自动绘出的. semilogx 和假设我们希望 即向量y的下x和y是由计算 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel, ylabel , title 命令可以加上. 如果x, y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=s in (x); plot(x,y) grid on, title(' y=sin( x )曲线图') xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title xlabel x坐标轴标注 ylabel y坐标轴标注 图形标题

text 标注数据点

lege nd在右上角加解释 文字 grid 给图形加上网格 hold 保持图形窗口的图形 表4.1.1.1 Matlab 图形命令 多重线 在一个单线图上,绘制多重线有三种办法第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,x n,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线?多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用plot绘制,但加上hold on/off命令的配合: plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵:

相关文档
最新文档