matlab plot画图

matlab plot画图
matlab plot画图

转)plot 画图

默认分类 2009-04-30 16:38:02 阅读116 评论0字号:大中小

第五讲计算结果的可视化

本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。

5.1 二维平面图形

5.1.1 基本图形函数

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,… 元素为纵坐标值绘

制多条曲线。

例5.1.1 画出一条正弦曲线和一条余弦曲线。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

图5.1.1 函数plot 绘制的正弦曲线

在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专

门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实

现它们的功能。

- 2 -

表5.1.1 绘图参数表

色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式

y 黄- 实线. 点< 小于号

m 紫:点线o 圆s 正方形

c 青-. 点划线x 叉号

d 菱形

r 红- - 虚线+ 加号h 六角星

g 绿* 星号p 五角星

b 蓝v 向下三角形

w 白^ 向上三角形

k 黑> 大于号

例如,在上例中输入

>> plot(x,y1,'r+-',x,y2,'k*:')

则得图5.1.2

图5.1.2 使用不同标记的plot 函数绘制的正弦曲线

5.1.2 图形修饰

MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。

表5.1.2 图形修饰函数表

函数含义

grid on (/off) 给当前图形标记添加(取消)网络

xlable(‘string’) 标记横坐标

ylabel(‘string’) 标记纵坐标

title(‘string’) 给图形添加标题

text(x,y,’string’) 在图形的任意位置增加说明性文本信息

gtext(‘string’) 利用鼠标添加说明性文本信息

axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值

- 3 -

例5.1.2 给例5.1.1 的图形中加入网络和标记。(见图5.1.3 和5.1.4)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

>> grid on

>> xlabel('independent variable X')

>> ylabel('Dependent Variable Y1 & Y2')

>> title('Sine and Cosine Curve')

>> text(1.5,0.3,'cos(x)')

>> gtext('sin(x)')

>> axis([0 2*pi -0.9 0.9])

图5.1.3 使用了图形修饰的plot 函数绘制的正弦曲线

5.1.3 图形的比较显示

在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图

形窗口。但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法:

一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;二是采用subplot(m,n,k)函数,将图形窗口分隔成n m×个子图,并选择第k 个子图作为当前图形,然

后在同一个视图窗口中画出多个小图形。

例5.1.3 在同一窗口中绘制线段。(见图5.1.5)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> y3=x;

- 4 -

>> y4=log(x);

>> plot(x,y1,x,y2)

>> hold on

>> plot(x,y3)

>> plot(x,y4)

>> hold off

例5.1.4 在多个窗口中绘制图形。(见图5.1.6)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> y3=exp(x);

>> y4=log(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> plot(x,y2);

>> subplot(2,2,3);

>> plot(x,y3);

>> subplot(2,2,4);

>> plot(x,y4);

[说明] (1)子窗口的序号按行由上往下,按列从左向右编号。

(2)如果不用指令clf 清除,以后图形将被绘制在子图形窗口中。

图5.1.4 设置坐标轴最大最小值的正弦曲线

- 5 -

图5.1.5 图形的比较显示(曲线叠加方法)

图5.1.6 图形的比较显示(图形窗口分割方法)

- 6 -

5.2 三维立体图形

5.2.1 三维曲线图

与二维图形相对应,MATLAB 提供了plot3 函数,可以在三维空间中绘制三维曲线,

它的格式类似于plot,不过多了z 方向的数据。plot3 的调用格式为:

plot3(x1,y1,z1,x2,y2,z2,...)

其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该函数

的使用方式和plot 类似,也可以采用多种的颜色或线型(见表5.1.1)来区分不同的数据组,

只需在每组变量后面加上相关字符串即可实现该功能。

例5.2.1 绘制方程x=t

y=sin(t)

z=cos(t)

在t=[0,2*pi]上

的空间方程。(见图5.2.1)

>> clf

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot3(y1,y2,x,'m:p')

>> grid on

>> xlabel('Dependent Variable Y1')

>> ylabel('Dependent Variable Y2')

>> zlabel('Independent Variable X')

>> title('Sine and Cosine Curve')

图5.2.1 函数plot 绘制的三维曲线图

- 7 -

5.2.2 三维曲面图

如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。

mesh 函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接。surf

函数和mesh 的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以

平面连接。

为方便测试立体绘图,MATLAB 提供了一个peaks 函数,它可以产生一个的高

斯分布矩阵,其生成方程是

N N ×

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*ex

p(-(x+1).^2-y.^2)

对应的图形是一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点。

下面使用peaks 函数来比较一下mesh 和surf 的区别。

例5.2.2 分别用mesh 函数和surf 函数绘制高斯矩阵的曲面。

>> z=peaks(40);

>> mesh(z);

>> surf(z);

图5.2.2 mesh 函数绘制的三维曲面图

- 8 -

图5.2.3 surf 函数绘制的着色表面图

在曲面绘图中,另一个常用的函数是meshgrid 函数,其一般引用格式是:

[X, Y]=meshgrid (x, y)

其中x 和y 是向量,通过meshgrid 函数就可将x 和y 指定的区域转换成为矩阵X 和Y。

这样我们在绘图时就可以先用meshgrid 函数产生在x-y 平面上的二维的网格数据,再以一

组z 轴的数据对应到这个二维的网格,即可画出三维的曲面。

例5.2.3 绘制方程

sin((x^2+y^2)^(1/2))

z = ---------------------

(x^2+y^2)^(1/2)

在x∈[-7.5,7.5];y∈[-7.5,7.5] 的图形。

>> x=-7.5:0.5:7.5;y=x;

>> [X,Y]=meshgrid(x,y);

>> R=sqrt(X.^2+Y.^2)+eps;

>> Z=sin(R)./R;

>> surf(X,Y,Z)

>> xlabel('X 轴方向')

>> ylabel('Y 轴方向')

>> zlabel('Z 轴方向')

(见图5.2.4)

_(x^2+y^2)

例5.2.4 绘制由方程形成的立体图。(见图5.2.5)z=xe

>> clear

>> x=-2:0.1:2;y=x;

>> [X,Y]=meshgrid(x,y);

>> Z=X.*exp(-X.^2-Y.^2);

- 9 -

>> surf(X,Y,Z)

图5.2.4

图5.2.5

- 10 -

5.2.3 观察点

MTALAB 允许用户设置观察点,其指令是:view(azimuth,elevation)

其中方位角azimuth 是观察点和坐标原点连线在x-y 平面的投影和y 轴负方向的夹角,仰角

elevation 是观察点与坐标原点的连线和x-y 平面的夹角。对于这两个角度,三维图形的默认

值分别是-37.5 和30,二维图形的默认值是0 和90。

例5.2.5 从不同的角度观察高斯矩阵的曲面。

>> z=peaks(40);

>> subplot(2,2,1);

>> mesh(z);

>> subplot(2,2,2);

>> mesh(z);

>> view(-37.5,-30);

>> subplot(2,2,3);

>> mesh(z);

>> view(180,0);

>> subplot(2,2,4);

>> mesh(z);

>> view(0,90);

图5.2.6 对应不同观察点的三维曲面图

5.3 其他图形函数

除了plot 绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函

数来实现,常用的几种函数如下(见表5.3.1)

- 11 -

表5.3.1 其他图形函数表

函数含义

loglog 使用对数坐标系绘图

semilogx 横坐标为对数坐标轴,纵坐标为线性坐标轴

semilogy 横坐标为线性坐标轴,纵坐标为对数坐标轴

polar 绘制极坐标图

fill 绘制实心图

bar 绘制直方图

pie 绘制饼图

area 绘制面积图

quiver 绘制向量场图

stairs 绘制阶梯图

sterm 绘制火柴杆图

例5.3.1

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> bar(x,y1);

>> subplot(2,2,3);

>> fill(x,y1,'g');

>> subplot(2,2,4);

>> stairs(x,y1,'k');

图5.3.1 其他图形函数

- 12 -

5.3.1 直方图

函数bar(x)可以绘制直方图,这对统计或者数据采集非常直观实用。它共有四种形式:

bar,bar3,barh 和bar3h,其中bar 和bar3 分别用来绘制二维和三维竖直方图,barh 和b ar3h 分

别用来绘制二维和三维水平直方图,调用格式是:

bar(x,y) 其中x 必须单调递增或递减,y 为n m×矩阵,可视化结果为m 组,每

组n 个垂直柱,也就是把y 的行画在一起,同一列的数据用相同的颜色表示;

bar(x,y,width) (或bar(y,width))指定每个直方条的宽度,如width>1,则直方条会重

叠,默认值为width=0.8;

bar(…,’grouped’) 使同一组直方条紧紧靠在一起;

bar(…,’stack’) 把同一组数据描述在一个直方条上。

例5.3.2

>> y=[5 3 2 9;4 7 2 7;1 5 7 3];

>> subplot(2,2,1),bar(y)

>> x=[5 9 11];

>> subplot(2,2,2),bar3(x,y)

>> subplot(2,2,3),bar(x,y,'grouped')

>> subplot(2,2,4),bar(rand(2,3),.75,'stack')

图5.3.2 直方图

5.3.2 面积图

函数area 用来绘制面积图,面积图在plot 的基础上填充x 轴和曲线之间的面积,该图

用于查看某个数在该列所有数的总和中所占的比例。

例5.3.3

>> x=-3:3;

>> y=[3 2 5;6 1 8;7 4 9;6 3 7;8 2 9;4 2 9;3 1 7];

>> area(x,y)

- 13 -

图5.3.3 面积图

5.3.3 饼图

函数pie 用来绘制饼图,它可以形象地表示出向量中各元素所占比例。其调用格式是:

pie(x) x 中的元素通过x/sum(x)进行归一化,以确定饼图中的份额;

pie(x,explode) 向量explode 和x 元素数相同,用来指出需要分开的饼片,explode 中

不为零的部分会被分开。

图5.3.4 饼图

- 14 -

例5.3.4 设某班的某课程的考试成绩如下:90 分以上有32 人,81 至90 有58 人,71 至80 分有27 人,60 至70 分为21 人,60 分以下有16 人,画出饼图。(见图5.3.4)

>> x=[32 58 27 21 16];

>> explode0=[1 0 0 0 0];

>> subplot(1,2,1)

>> pie(x,explode0)

>> explode1=[0 0 0 0 1];

>> subplot(1,2,2)

>> pie(x,explode1)

5.3.4 不同坐标系中的绘图

Semilogx,semilogy,loglo,polar(theta,rho)的使用方法和plot 完全类似,不同的只是绘

制到

不同的图形坐标上。函数semilogx 绘制x 轴为对数标度的图形,在半对数坐标系中绘图;

函数semilogy 绘制y 轴为对数标度的图形;函数loglog 绘制两个轴都为对数间隔的图形;

函数polar(theta,rho)绘制极坐标图形,其中theta 为相角,rho 为其对应的半径。

例5.3.5 绘制ρ=acos(3θ),a=2 的图形。(见图5.3.5)

>> theta=-pi:pi/80:pi;

>> polar(theta,2*cos(3*theta))

图5.3.5 极坐标图

5.4 符号表达式绘图

MATLAB 软件提供了将表达式进行图形显示的功能。完成此功能需调用fplot 函数和ezplot 函数。

- 15 -

函数fplot 用来绘制数学函数,其调用格式为:fplot(fun,lims)

其中fun 就是所要绘制的函数,可以是定义函数的M 文件名,也可以是以x 为变量的可计

算字符串。例如’diric(x,10)’或’[sin(x),cos(x)]’,对于向量x 的每个元素,函数

fun(x)必须返

回一个行向量。如果fun 返回[f1(x),f2(x),f3(x)],输入[x1;x2],就会返回矩阵

f1(x1) f2(x1) f3(x1)

f1(x2) f2(x2) f3(x2)

lims=[XMIN XMAX YMIN YMAX]限定了x,y 轴上的绘图空间。

例5.4.1

>> subplot(2,2,1),fplot('humps',[0 1])

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

>> subplot(2,2,3),fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1])

>> subplot(2,2,4),fplot('sin(1./x)',[0.01 0.1],1e-3)

图5.4.1 fplot 函数绘制表达式图形

ezplot 函数是简捷绘图指令之一,它无需数据准备,直接画出函数图形,基本调用格式

为ezplot(f)

其中f 是字符串或代表数学函数的符号表达式,只有一个符号变量,可以是x,缺省情况下

x 轴的绘图区域为] 2 , 2 [ π π ? ,但我们可以用ezplot(f,xmin,xmax)或ezp

lot(f,[xmin,xmax])来指

定x 的范围。

例5.4.2

>> y='x^2';

>> subplot(1,2,1)

- 16 -

>> subplot(1,2,2)

>> y='sin(x)';

>> ezplot(y,[-pi,pi])

图5.4.2 ezplot 函数绘制表达式图形

5.5 plot 函数

MATLAB 对数据是按列存储和计算的,运用plot(x)时,当x 为一个向量时,以其元

素为纵坐标,其序号为横坐标值绘制曲线。当x 为实矩阵时,则以其序号为横坐标,按列绘

制每列元素相对于序号的曲线,当x 为n m×矩阵时,就有n 条曲线。

如果x,y 是同维向量,plot(x,y)指令以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。

如x 是向量,y 是有一维与x 元素数量相等的矩阵,则以x 为共同横坐标,按列绘制y 每列

元素值,曲线数为y 的另一维的元素数。如果x,y 是同维矩阵,则以x,y 对应列元素为、纵

坐标分别绘制曲线,数目等于矩阵的列数。

例5.5.1

>> x=[3 5 10 8];

>> subplot(2,2,1)

>> plot(x)

>> x=[3 5 10 8;7 2 9 4;2 7 2 7]';

>> subplot(2,2,2)

>> plot(x)

>> x=[3 5 6 8];

>> y=[1 5 10 4];

- 17 -

>> subplot(2,2,3)

>> plot(x,y)

>> x=[1 3 5 7;2 4 6 8]';

>> y=[6 2 5 10;3 5 2 6]';

>> subplot(2,2,4)

>> plot(x,y,'k:*')

图5.5.1

5.6 交互式图形指令

ginput 是一个比较特殊的图形指令,用作获取图上数据,例如指令

>>[x,y]=ginput(6) % 从图形上选取6 个点

此时,ginput 指令将把当前图形调入前台,同时光标变为十字叉,移动光标,使交叉点落在

目标点上,单击鼠标,即可获得该点数据。

例5.5.2

>> fplot('humps',[0 1])

x =

0.0449 0.1832 0.3007 0.3813 0.6417 0.8952 - 18 -

y =

7.4561 38.1579 96.3450 57.4561 10.9649 21.1988

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

2011全国大学生数模竞赛A题三维立体绘图MATLAB代码

2011全国大学生数模竞赛A题 三维立体绘图MATLAB代码及图像 下载两个数据文件保存到MATLAB工作目录中,同时将下面的程序拷贝到一个M文件里面运行即可。 MATLAB代码和数据文件请到这里下载:https://www.360docs.net/doc/9a14138229.html,/thread-19793-1-1.html A题城市表层土壤重金属污染分析 随着城市经济的快速发展和城市人口的不断增加,人类活动对城市环境质量的影响日显突出。对城市土壤地质环境异常的查证,以及如何应用查证获得的海量数据资料开展城市环境质量评价,研究人类活动影响下城市地质环境的演变模式,日益成为人们关注的焦点。 按照功能划分,城区一般可分为生活区、工业区、山区、主干道路区及公园绿地区等,分别记为1类区、2类区、……、5类区,不同的区域环境受人类活动影响的程度不同。 现对某城市城区土壤地质环境进行调查。为此,将所考察的城区划分为间距1公里左右的网格子区域,按照每平方公里1个采样点对表层土(0~10 厘米深度)进行取样、编号,并用GPS记录采样点的位置。应用专门仪器测试分析,获得了每个样本所含的多种化学元素的浓度数据。另一方面,按照2公里的间距在那些远离人群及工业活动的自然区取样,将其作为该城区表层土壤中元素的背景值。 附件1列出了采样点的位置、海拔高度及其所属功能区等信息,附件2列出了8种主要重金属元素在采样点处的浓度,附件3列出了8种主要重金属元素的背景值。 现要求你们通过数学建模来完成以下任务: (1) 给出8种主要重金属元素在该城区的空间分布,并分析该城区内不同区域重金属的污染程度。 (2) 通过数据分析,说明重金属污染的主要原因。 (3) 分析重金属污染物的传播特征,由此建立模型,确定污染源的位置。 (4) 分析你所建立模型的优缺点,为更好地研究城市地质环境的演变模式,还应收集什么信息?有了这些信息,如何建立模型解决问题?

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为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

matlab作图

MATLAB受到了广大理工科学生和学者青睐,除了Matlab强大的矩阵计算功能和功能齐全的toolbox以外,一个重要原因是因为它提供了方便的绘图功能。下面我们将详细介绍2维图形对象的生成函数及图形控制函数的使用方法以及一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 一、图形窗口与坐标系; A.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2.在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句 柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性. B.坐标系; 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.

matlab画图基本函数和参数之plot

matlab画图基本函数和参数之plot (2010-06-05 16:54:20) 基本语法: plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...) 详解: plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。 plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。 plot(X1,Y1,LineSpec,...)通过参数 LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...) 此时完全等效于 plot(X1,Y1,LineSpec1,...) hlod all plot(X2,Y2,LineSpec2,...)

MATLAB中提供的线型属性有: 需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。 plot(...,'PropertyName',PropertyValue,...) 设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。 plot(axes_handle,...)指定坐标系,也就是在 axes_handle坐标系中绘图,在没有指定时默认为gca。 h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。 注意事项: 在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。 默认情况,MATLAB在每次调用plot函数时将ColorOrder和 LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。 Default**属性我们可以自定义,有效期至MATLAB关闭,Matlab下次启动时将Default**属性重置为厂家设置(Factory) set(0,'DefaultAxesColorOrder',’r|g|b|k’,... 'DefaultAxesLineStyleOrder','-|-.|--|:')

matlab函数图像画图教程

Matlab画图教程 1、MATLAB简介:MATLAB语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。 2、MATLAB的绘图功能: (1)单窗口单曲线绘图 x=[0, 0.58,0.84,1,0.91,0.6,0.14] plot (x) (2)单窗口多曲线绘图 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) (3)单窗口多曲线分图绘图 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y1) subplot(1,3,3); plot(t,y2)

t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) subplot(3,1,1); plot(t,y) subplot(3,1,2); plot(t,y1) subplot(3,1,3); plot(t,y2) (4)多窗口绘图 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) figure(2) plot(t,y1) figure(3) plot(t,y2)

(5)可任意设置颜色与线型 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); subplot(1,3,1);plot(t,y,'r-') subplot(1,3,2);plot(t,y1,'g:') subplot(1,3,3);plot(t,y2,'b*') (6)图形加注功能 t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线'); legend('正弦','余弦') xlabel('时间t'),ylabel('正弦、余弦') grid axis square

Matlab中的函数

abs 绝对值、模、字符的ASCII码值? acos 反余弦? acosh 反双曲余弦? acot 反余切? acoth 反双曲余切? acsc 反余割? acsch 反双曲余割? align 启动图形对象几何位置排列工具? all 所有元素非零为真? angle 相角? ans 表达式计算结果的缺省变量名? any 所有元素非全零为真? area 面域图? argnames 函数M文件宗量名? asec 反正割? asech 反双曲正割? asin 反正弦? asinh 反双曲正弦? assignin 向变量赋值? atan 反正切? atan2 四象限反正切? atanh 反双曲正切? autumn 红黄调秋色图阵? axes 创建轴对象的低层指令? axis 控制轴刻度和风格的高层指令? B b? bar 二维直方图? bar3 三维直方图? bar3h 三维水平直方图? barh 二维水平直方图? base2dec X进制转换为十进制? bin2dec 二进制转换为十进制? blanks 创建空格串? bone 蓝色调黑白色图阵? box 框状坐标轴?

break while 或for 环中断指令? brighten 亮度控制? C c? capture (3版以前)捕获当前图形? cart2pol 直角坐标变为极或柱坐标? cart2sph 直角坐标变为球坐标? cat 串接成高维数组? caxis 色标尺刻度? cd 指定当前目录? cdedit 启动用户菜单、控件回调函数设计工具? cdf2rdf 复数特征值对角阵转为实数块对角阵? ceil 向正无穷取整? cell 创建元胞数组? cell2struct 元胞数组转换为构架数组? celldisp 显示元胞数组内容? cellplot 元胞数组内部结构图示? char 把数值、符号、内联类转换为字符对象? chi2cdf 分布累计概率函数? chi2inv 分布逆累计概率函数? chi2pdf 分布概率密度函数? chi2rnd 分布随机数发生器? chol Cholesky分解? clabel 等位线标识? cla 清除当前轴? class 获知对象类别或创建对象? clc 清除指令窗? clear 清除内存变量和函数? clf 清除图对象? clock 时钟? colorcube 三浓淡多彩交叉色图矩阵? colordef 设置色彩缺省值? colormap 色图? colspace 列空间的基? close 关闭指定窗口? colperm 列排序置换向量?

matlab三维二维离散曲面画图教程

傅里叶变换 img=imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %img=double(img); f=fft2(img); %傅里叶变换 f=fftshift(f); %使图像对称 r=real(f); %图像频域实部 i=imag(f); %图像频域虚部 margin=log(abs(f)); %图像幅度谱,加log便于显示 phase=log(angle(f)*180/pi); %图像相位谱 l=log(f); subplot(2,2,1),imshow(img),title('源图像'); subplot(2,2,2),imshow(l,[]),title('图像频谱'); subplot(2,2,3),imshow(margin,[]),title('图像幅度谱'); subplot(2,2,4),imshow(phase,[]),title('图像相位谱'); https://www.360docs.net/doc/9a14138229.html,/s/blog_1667198560102wmzu.html 傅里叶变换 I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像 I = rgb2gray(I);%将图像进行灰度处理 J = fft2(I);%将图像实行傅里叶变换 figure,imshow(I);%这里能得到频谱图 J = fftshift(J); figure,imshow(log(abs(J)),[]); %将频谱平移 J(abs(J)<5)=0;%不必要的过滤掉 figure,imshow(log(abs(J)+eps),[]); J = ifftshift(J);K = ifft2(J);figure,imshow(K,[0 255]);%傅里叶逆变换 自己所写的代码 I = imread('RADU}4W~M9]09V7Q)ZQ5%~7.png'); %读入数字图像 J = fft2(I); %将图像实行傅里叶变换figure,imshow(I); %这里能得到频谱图 J = fftshift(J); figure,imshow(log(abs(J)),[]); %将频谱平移 J(abs(J)<5)=0; %不必要的过滤掉figure,imshow(log(abs(J)+eps),[]); J = ifftshift(J);K = ifft2(J); ss=real(ifft2(J));sss=uint8(ss);subplot(1,2,2); imshow(sss) figure,imshow(K,[0 255]); %傅里叶逆变换

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之绘图函数 为了显示三维图形,MATLAB提供了各种各样的函数。有一些函数可在三维空间中画线,而另一些可以画曲面与线格框架。另外,颜色可以用来代表第四维。当颜色以这种方式使用时,由于它不再象照片中那样显示信息的自然属性----色彩,而且也不是基本数据的内在属性,所以它称作伪彩色。为了简化对三维图形的讨论,对颜色的介绍推迟到下一章。在这一章,主要讨论绘制三维图形的基本概念。 以下所讨论的函数和它们的特征总结在表2、表3、表4和表5中: 表2 contour二维等值线图,即从上向下看contour3等值线图contour3等值线图fill3填充的多边形mesh 网格图meshc具有基本等值线图的网格图meshz有零平面的网格图pcolor二维伪彩色绘图,即从上向下看surf图plot3直线图quiver二维带方向箭头的速度图surf曲面图surfc具有基本等值线图的曲面图surfl带亮度的曲面图waterfall无交叉线的网格图 表示3 axis修正坐标轴属性clf清除图形窗口clabel放置等值线标签close关闭图形窗口figure创建或选择图形窗口getframe捕捉动画桢grid放置网格griddata对画图用的数据进行内插hidden隐蔽网格图线条hold保留当前图形meshgrid产生三维绘图数据movie放动画moviein创建桢矩阵,存储动画shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影subplot在图形窗口内画子图text在指定的位置放文本title放置标题view改变图形的视角xlabel放置x轴标记ylabel放置y轴标记zlabel放置z轴标记 表4 view(az,el)设置视图的方位角az和仰角elview([az,el])view([x,y,z])在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 0 1])=view(0,90)view(2)设置缺省的二维视图,az=0, el=90view(3)设置缺省的三维视图,az=-37.5,el=30[az,el]=view返回当前的方位角az和仰角elview(T)用一个4×4的转置矩阵T来设置视图T=view返回当前的4×4转置矩阵 表5 mmcont2(X,Y,Z,C)具有颜色映象的二维等值线图mmcont3(X,Y,Z,C)具有颜色映象的三维等值线图mmspin3d(N)旋转当前图形的三维方位角来制作动画mmview3d用滑标来调整视角 另外提醒一点,Matlab的reshape函数是列优先的,如: y = 1 2 3 4 5 6 reshape(y,3,2)= 1 4 2 5 3 6 而不是 1 2 3 4 5 6 https://www.360docs.net/doc/9a14138229.html,/blog/static/816261002008111631157417/ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 一、直接绘图函数 直接绘图函数有两个,fplot和ezplot 1.fplot fplot命令的调用格式主要有: (1)fplot(fun,lims,str,tol):直接绘制函数y=fun(x)的图形。其中,lims为一个向量,若lims只包含两个元素则表示x轴的范围:[xmin,xmax]。若lims包含四个元素则前两个元素表示x轴的范围:[xmin,xmax],后两个元素表示y轴的范围:[ymin,ymax]。str可以指定图形的线型和颜色。tol的值小于1,代表相对误差,默认值为0.002,即0.2%。 >>fplot(@humps,[-1,5]) %在[-1,5]范围内绘制函数humps 上述命令中,@humps表示以函数句柄的形式引用函数。(C:\Program Files\MATLAB\R2009a\toolbox\matlab\demos\humps.m)。

(matlab)plot画图的颜色线

(matlab)plot画图的颜色线型 y 黄色 ·点线 m 粉红○圈线 c 亮蓝 × ×线 r 大红++字线 g 绿色-实线 b 蓝色 * 星形线 w 白色:虚线 k 黑色-. -- 点划线 matlab6.1线形: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram ] square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星 用法 grid 打开网格线-- 虚线 hold on 命令用于在已画好的图形上添加新的图形 1 x=0:0.001:10; % 0到10的1000个点(每隔0.001画一个点)的x座标 y=sin(x); % 对应的y座标 plot(x,y); % 绘图 注:matlab画图实际上就是描点连线,因此如果点取得不密,画出来就成了折线图,请试验之 2 Y=sin(10*x); plot(x,y,'r:',x,Y,'b') % 同时画两个函数 3 若要改变颜色,在座标对后面加上相关字串即可: x=0:0.01:10; plot(x,sin(x),'r') 4 若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可:plot(x,sin(x),'r*') 5 用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围 axis([0,6,-1.5,1]) 6 MATLAB也可对图形加上各种注解与处理:(见上表) xlabel('x轴'); % x轴注解 ylabel('y轴'); % y轴注解

MATLAB中plot的用法

MATLAB中plot的用法(2011-05-17 22:10:50)转载▼ 标签:杂谈 第五讲计算结果的可视化 本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 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,…元素为纵坐标值绘 制多条曲线。 例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >>plot(x,y1,x,y2) 图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实 现它们的功能。 - 2 - 表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点<小于号 m 紫:点线o 圆s 正方形 c 青-. 点划线x 叉号 d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑>大于号 例如,在上例中输入 >>plot(x,y1,'r+-',x,y2,'k*:') 则得图5.1.2 图5.1.2 使用不同标记的plot 函数绘制的正弦曲线 5.1.2 图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 表5.1.2 图形修饰函数表

实验五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中如何在指定一点画一个填充颜色的小圆 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中plot函数及legend函数详解及实例

Matlab中plot函数及legend函数详解及实例 作者--乘江枫 Matlab中plot函数全功能解 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,...) plot(axes_handle,...) h = plot(...) hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。 plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。

plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...) 此时完全等效于 plot(X1,Y1,LineSpec1,...) hlod all plot(X2,Y2,LineSpec2,...) MATLAB中提供的线型属性有:

matble课程论文(MATLAB在三维作图中的应用)

《MATLAB》课程论文 MATLAB在三维作图中的应用 姓名: 学号: 专业: 班级: 指导老师: 学院: 完成日期:

MATLAB在三维作图中的应用 [摘要]MATLAB提供了一系列的绘图函数,用户不仅不许考虑绘图细节,只需给出一些基本的参数就能得到所需要的图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件。其实MATLAB的高层绘图函数都是利用低层绘图函数建立起来的。所以MATLAB的计算准确、效率高、使用快捷等优点常被广泛应用于科学和工程领域. [关键字]MATLAB语言三维图形图像处理绘制 一,问题的提出 MATLAB语言是当前国际学科界应用很广泛的一种软件,强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,利用它强大的图像处理来绘制三维图形既简单而且也很方便。在绘制三维图形的过程中也用到了MATLAB语言的其他功能,绘制三维图形时用到了它提供的一些函数,利用这些函数可以方便的生成一些特殊矩阵,因此可生成一个坐标平面。MATLAB语言强大的功能也在二维三维绘图中的得到了很广泛的应用,利用它所提供的精细的图像处理功能,如MATLAB还提 供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件,还可以对所绘制的三维图形作一个修饰的处理。MATLAB语言具有强大的以图形化显示矩阵和数组的能力,同时它给这些图形增加注释并且可以对图形进行标注和打印。MATLAB的图形技术包括三维的可视化、图形处理、动画等高层次的专业图形的高级绘图,例如图形的光照处理、色度处理以及四维数据的表现等。那么,如何把它强大的功能应用于实际应用中,下面我们将用实例说明MATBLE在三维作图中的应用。 二,MATLAB的主要功能及特点 MATLAB近几年广泛用于图像处理和识别, 使用MATLAB设计模式识别应用软件将使设

matlab利用excellink达到在excel中直接画图

matlab excel混合编程MATLAB与 Excel数据连接及绘图 3.1 MATLAB与Excel数据连接 EXCEL和MATLAB在数据显示和数值计算上各有优势,EXCEL是商业运用最广泛的工具,非常直观,但是数值编程比较差,而MA TLAB可以弥补这一点,有时在程序开发上需要将两者结合起来,实现两者之间的优势互补,为此MATLAB提供了EXCEL Link连接工具,实现MA TLAB与EXCEL之间的混合编程。 EXCEL Link是一个在Microsoft Windows环境下实现对Microsoft EXCEL和MATLAB 进行链接的插件。通过对EXCEL和MATLAB 的连接,用户可以在EXCEL的工作空间里,利用EXCEL的宏编程工具,使用MATLAB的数据处理和图形处理功能进行相关操作,同时由EXCEL Link来保证两个工作环境中数据的交换和同步更新。使用EXCEL Link 时,不必脱离EXCEL环境,而是直接在EXCEL工作区或宏操作中调用MATLAB函数。 EXCEL Link允许在MATLAB和EXCEL之间进行数据交换,在两个功能强大的数学处理、分析与表示平台之间建立无缝连接。EXCEL作为一个可视化的数据处理环境是进行数组编辑的最佳选择,而MA TLAB则作为数据分析和可视化的引擎。任何输入到EXCEL环境中的数据都可以直接进入MTA TLAB进行处理,而这一过程完全是“现场”处理的,没有任何中间文件,也不需要进行编程工作。

3.1.1 MATLAB和Excel的接口安装:. Excel Link的安装和和设置 首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示: 安装完Excel Link后还需要在Excel中进行一些设置后才能使用。 启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:

MATLAB画图函数plot应用大全.docx

MATLAB图像生成函数Plot ()总结 一、基本形式 (1)? y=[0 0.58 0.70 0.95 0.83 0.25]; ? plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 (2)? x=linspace(0,2*pi,30); %生成一组线性等距的数值 ? y=si n(x); ?plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 二、多重线 (1)在同一个画面上可以画许多条曲线,只需多给出几个数组: ? x=0:pi/15:2*pi; ? yl=si n(x); ? y2=cos(x); ?plot(x,yl,x/y2) (2)利用hold命令。在已经画好的图形上,若设置hold on, MATLA 将把新的plot命令产生的图形画在原来的图形上。而命令hold off将结束这个过程。例如: ? x=linspace(0,2*pi,30); y=sin(x); plot(x,y) ? hold on ? z=cos(x); plot(x,z) ? hold off 三、线型和颜色 MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下: (1)线型线方式:?实线:点线虚点线--波折线。 (2)线型点方式:?圆点+加号*星号xx形o小圆

(3)颜色:y黄;r红;g绿;b蓝;w 口;k黑;m紫;c青. 以下面的例子说明用法: ? x=0:pi/15:2*pi; ? yl=sin(x); y2=cos(x); ?plot(x/yl/b:+;x/y2;g-.*/) 四、改变坐标轴 (1)网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 ? x=linspace(0/2*pi/30); y=sin(x); z=cos(x); ?plot(x,y,x,z) ?grid ?xlabel(1ndependent Variable X') ?ylabel(z Dependent Variables Y and Z‘) ?title(z Sine and Cosine Curves') (2)在坐标轴加字符: ?text(2.5,0.7/sinx,) 表示在坐标x=2.5, y=0.7处加上字符串sinxo更方便的是用鼠标来确定字符串的位置,方法是输入命令: >>gtext('sinx‘) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字 符串放在那里。 (3)坐标系的控制 在缺省情况下MATLAB 口动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xminxmaxyminymax])[冲分别给出x轴和y轴的最大值、最小值axis equal 或axis( 'equal' )x轴和y轴的单位长度相同 axis square 或axis( "square')图框呈方形

相关文档
最新文档