当前位置:文档之家› matlab基础作图实例

matlab基础作图实例

matlab基础作图实例
matlab基础作图实例

实验三 MATLAB 的绘图

一、实验目的:掌握利用MATLAB 画曲线和曲面。 二、实验内容:

1、 在不同图形中绘制下面三个函数t ∈[0,4π]的图象,3个图形分别是figure(1),figure(2),figure(3)。

)

sin(41.0321t e y t

y t y t -==

说明:y 1 线型:红色实线,y 2 线型:黑色虚线,y 3: 线型:兰色点线

分别进行坐标标注,分别向图形中添加标题‘函数1’,‘函数2’, ‘函数3’ 解答:

源程序与图像: t=0:0.1:4*pi; y_1=t;

y_2=sqrt(t);

y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1)

plot(t,y_1,'-r'); title('函数1');

xlabel('t');ylabel('y_1'); figure(2)

plot(t,y_2,'--k'); title('函数2');

xlabel('t');ylabel('y_2'); figure(3)

plot(t,y_3,':b'); title('函数3');

xlabel('t');ylabel('y_3');

函数1

t

y 1

0246

8101214

函数2

t y 2

函数3

t

y 3

2、 在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象。 (用2种方法来画图,其中之一使用hold on ) 使用text 在图形适当的位置标注“函数1”“函数2”,“函数3” 使用gtext 重复上面的标注,注意体会gtext 和text 之间的区别 解答: 方法一: 程序与图形: t=0:0.1:4*pi; y_1=t;

y_2=sqrt(t);

y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1)

plot(t,y_1,'-r'); gtext('函数1');

xlabel('t');ylabel('y'); hold on

plot(t,y_2,'--k'); gtext('函数2');

hold on

plot(t,y_3,':b'); gtext('函数3');

246

8101214

-10-50

5

10

15

t

y

方法二: t=0:0.1:4*pi; y_1=t;

y_2=sqrt(t);

y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1)

plot(t,y_1,'-r',t,y_2,'--k',t,y_3,':b'); xlabel('t');ylabel('y'); text(10,10,'函数1'); text(11,2,'函数2'); text(11,-5,'函数3');

0246

8101214

-10

-50

5

10

15

t

y

4、绘制ρ=sin(2θ)cos(2θ)的极坐标图

源程序和图形: theta=0:pi/100:2*pi;

rho=sin(2*theta).*cos(2*theta); polar(theta,rho);

90

270

1800

5、绘制y=10x 2的对数坐标图并与直角线性坐标图进行比较。

在一个图形中绘制4个子图,分别使用plot 、semilogx 、semilogy 、loglog 函数进行绘制; 并且用title 进行标注;同时添加网格线 源程序与图像: x=0:0.1:5; y=10*x.^2;

subplot(2,2,1) plot(x,x);

title('plot 函数图');grid on

subplot(2,2,2) semilogx(x,y);

title('semilogx 函数图');grid on

subplot(2,2,3) semilogy(x,y);

title('semilogy');grid on

subplot(2,2,4) loglog(x,y);

title('loglog 函数图');grid on

02

46

24

6plot 函数图

10-110

10

1

0100

200

300semilogx 函数图

0246

10

-2

10

10

210

4

semilogy

10

-1

10

10

1

10

-2

10

10

2

10

4

loglog 函数图

6、绘制下面函数在区间[-6,6]中的图象。

??

???>+-≤<≤=3

,630,

0,sin )(x x x x x x x y

源程序和图像: x=-6:0.1:0; y_1=sin(x); plot(x,y_1,'-k');

xlabel('x');ylabel('y'); gtext('y_1=sin(x)'); hold on x=0:0.1:3; y_2=x;

plot(x,y_2,'--b'); gtext('y_2=x'); hold on x=3:0.1:6; y_3=-x+6; plot(x,y_3,':r'); gtext('y_3=-x+6');

-6

-4-2

0246

-1-0.500.511.522.53x

y

7、三维空间曲线绘制t ∈[0,4π]

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

使用plot3 和comet3分别绘制 源程序和图像:(彗星图用matlab 复制之后看不到,用的是截图) t=0:0.1:4*pi; x=cos(t); y=sin(t);

subplot(2,1,1) plot3(t,x,y);

subplot(2,1,2) comet3(t,x,y);

8、分别用mesh 和surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的取值范围设为[-3,3]。

10

102

2y x z +-=

源程序和图像: x=-3:0.1:3; y=-3:0.1:3;

[x,y]=meshgrid(x,y);

z=(-(x.^2)/10)+((y.^2)/10);

subplot(2,1,1) mesh(x,y,z); title('mesh plot');

xlabel('x');ylabel('y');zlabel('z');

subplot(2,1,2) surf(x,y,z); title('surf plot');

xlabel('x');ylabel('y');zlabel('z');

4

x

mesh plot

y

z

4

x

surf plot

y

z

9、用mesh 和surf 函数来绘制激光器输出横模的三维分布

对于激光腔长为L=10, 激光波长λ=1064nm 方形镜共焦腔,其输出的几个横模如下所示意 其中π

λ

ωL os =

00模的振幅分布

()π

λ/0022,L y x e

y x v +-

=

10模的振幅分布()22

2,10

os

y x xe

y x v ω+-

=

01模的振幅分布()22

2,01

os

y x ye

y x v ω+-

=

20模的振幅分布

()2

2

2

)

4(

,2

2

20

os

y

x

os

e

x

y

x

ω

+

-

-

=

11模的振幅分布

()2

2

2

,

11

os

y

x

xye

y

x

+

-

=

%激光器输出横模的三维分布

L=10e-2; %腔长

Lambda=1064e-9;%波长

w_os=sqrt(L*Lambda/pi);

x=[-10:0.1:10];y=[-10:0.1:10];

[x,y]=meshgrid(x,y);

v_00=exp(-(x^2+y^2)/w_os^2);

v_10=x*exp(-(x^2+y^2)/w_os^2);

v_01=y*exp(-(x^2+y^2)/w_os^2);

v_20=(4*x^2-w_os^2)*exp(-(x^2+y^2)/w_os^2); v_11=x*y*exp(-(x^2+y^2)/w_os^2);

%00模

figure(1)

subplot(1,2,1)

mesh(x,y,v_00);

title('00模mesh图');

subplot(1,2,2)

surf(x,y,v_00);

title('00模surf图');

%10模

figure(2)

subplot(1,2,1)

mesh(x,y,v_10);

title('10模mesh图');

subplot(1,2,2)

surf(x,y,v_10);

title('10模surf图');

%01模

figure(3)

subplot(1,2,1)

mesh(x,y,v_01);

title('01模mesh图');

subplot(1,2,2)

surf(x,y,v_01);

title('01模surf图');

%20模 figure(4)

subplot(1,2,1) mesh(x,y,v_20);

title('20模mesh 图'); subplot(1,2,2) surf(x,y,v_20);

title('20模surf 图');

%11模 figure(5)

subplot(1,2,1) mesh(x,y,v_11);

title('11模mesh 图'); subplot(1,2,2) surf(x,y,v_11);

title('11模surf 图');

-0.01

0.01

00模mesh 图

-0.01

00模surf 图

-0.01

0.01

x 10-4

10模mesh 图

-0.01

0.01

0.01

x 10

-4

10模surf 图

0.01

-0.01

-8-6-4-20

2468-4

01模mesh 图

-0.01

0.01

-4

01模surf 图

-0.01

0.01

x 10-6

20模mesh 图

-0.01

0.01

x 10

-6

20模surf

-0.01

0.01

x 10-7

11模mesh

-0.01

0.01

x 10

-7

11模surf 图

10、分别绘制隐函数曲线

1)x 2+y 2=1 程序与图像: x=-1:0.1:1; y=-1:0.1:1;

ezplot('x.^2+y.^2-1'); title('x^2+y^2=1');

x

y

x 2+y 2=1

-6

-4

-2

02

4

6

2)X 3+y 3=5xy 程序与图像: x=-10:0.1:10; y=-10:0.1:10;

ezplot('x.^3+y.^3-5*x.*y'); title('x^3+y^3=5*x*y');

x

y

x 3+y 3=5*x*y

-6

-4

-2

02

4

6

11,在光纤放大器的文献中,我们经常能碰到双Y 轴图形的绘制,在某次实验中有人得到如下的实验数据,请绘制双Y 轴图形,横坐标为输入信号功率,纵坐标分别为输出功率和增益 输入的信号光功率(mW):1;2;3;4;5;6;7;8;9;10

输出的信号光功率(mW):1.1;4.2;9.2;16.1;25.3;36.0;49.4;64.5;82.0;99.9

标注横坐标为Input signal power (mW),纵坐标分别为Output power (mW); Gain(dB) 解答:

程序与图像:

Input=[1 2 3 4 5 6 7 8 9 10];

Output=[1.1 4.2 9.2 16.1 25.3 36.0 49.4 64.5 82.0 99.9]; G=Output./Input; Gain=10log10(G);

[AX,H1,H2]=plotyy(Input,Output,Input,Gain);

set(get(AX(1),'Ylabel'),'String','Output power (mW)') set(get(AX(2),'Ylabel'),'String','Gain(dB)') xlabel('Input signal power (mW)');

410

20406080100

O u t p u t p o w e r (m W )

Input signal power (mW)

123

56789

G a i n (d B )

12,饼图的绘制

我校某级光信专业本科生源分别为:湖北40人,安徽3人,黑龙江4人,贵州2人,江西5人,请绘制饼图和进行标注为湖北,安徽,黑龙江,贵州,江西;另外在饼图中把安徽,黑龙江学生的部分分离出来, 程序和图像: x=[40 3 4 2 5]; y=[0 1 1 0 0];

pie(x,y,{'湖北40人','安徽3人', '黑龙江4人', '贵州2人','江西5人'}) title('我校某级光信专业本科生源');

徽3人

4人

江西5人

我校某级光信专业本科生源

matlab基础作图实例

实验三 MATLAB 的绘图 一、实验目的:掌握利用MATLAB 画曲线和曲面。 二、实验内容: 1、 在不同图形中绘制下面三个函数t ∈[0,4π]的图象,3个图形分别是 figure(1),figure(2),figure(3)。 ) sin(41.0321t e y t y t y t -== =π 说明:y 1 线型:红色实线,y 2 线型:黑色虚线,y 3: 线型:兰色点线 分别进行坐标标注,分别向图形中添加标题‘函数1’,‘函数2’, ‘函数3’ 解答: 源程序与图像: t=0:0.1:4*pi; y_1=t; y_2=sqrt(t); y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1) plot(t,y_1,'-r'); title('函数1'); xlabel('t');ylabel('y_1'); figure(2) plot(t,y_2,'--k'); title('函数2'); xlabel('t');ylabel('y_2'); figure(3) plot(t,y_3,':b'); title('函数3'); xlabel('t');ylabel('y_3'); 246 8101214 02468 10 12 14 函数1 t y 1

0246 8101214 0.511.522.533.54函数2 t y 2 2 4 6 8 10 12 14 -8-6-4-2024 681012函数3 t y 3 2、 在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象。 (用2种方法来画图,其中之一使用hold on ) 使用text 在图形适当的位置标注“函数1”“函数2”,“函数3” 使用gtext 重复上面的标注,注意体会gtext 和text 之间的区别 解答: 方法一: 程序与图形: t=0:0.1:4*pi; y_1=t; y_2=sqrt(t); y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1) plot(t,y_1,'-r'); gtext('函数1');

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

Matlab plotyy画双纵坐标图实例 x = 0::20; y1 = 200*exp*x).*sin(x); y2 = *exp*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*x).*sin(x)';'y2 = *exp*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的间距不一样,影响美观。或者说能不能使plotyy画出的图两边的tick间距是一样的,这样在图形右边的tick就会重合在一起. A:如果只是想让plotyy的图美一些,可以使用其如下形式的调用方式: [AX,H1,H2] = plotyy(...) 其中AX(2)就是右边Axes对象的句柄,拿到它以后就可以set或者get来处理了,也可以把其ytick关掉。 A:也可以用line语句来画,就没有左边和上边的线了。 Q:plotyy(X1,Y1,X2,Y2,FUN1,FUN2),FUN1和FUN2应该怎么写 A:这两个FUN代表plotyy不一定要用两个plot,比如下面的例子,一条曲线用plot,一条用semilogy x1=1::100; x2=x1;

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画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,:));plot(x,y) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

matlab绘图详解

一.二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx, semilogy, loglog, polar, plotyy (1). 单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 可以在图形中加标注和网格, 例2:给例1 的图形加网格和标注。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) title('简单绘图举例'); xlabel('单元下标'); ylabel('给定的矢量'); grid (2). 双矢量绘图(Double vector plotting):如x和y是同样长度的矢量, plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi; y=sin(x); plot(x,y) (3). 对数坐标绘图(ploting in logarithm coordinate): x轴对数 semilogx, y轴对数semilogy, 双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; subplot(2,2,1); plot(y); subplot(2,2,2); semilogx(y) subplot(2,2,3); semilogy(y); subplot(2,2,4); loglog(y) (4)极坐标绘图( Plotting in polar coordinate): polar(theta,rho) theta—角度, rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi; polar(t,sin(2*t).*cos(2*t)) 2. 多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a) x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。例1: x=0:pi/50:2*pi; y(1,: )=sin(x); y(2,:) =0.6*sin(x); y(3, :)=0.3*sin(x); plot(x,y) (b) x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例 2: x(1,: )=0:pi/50:2*pi; x(2,: )=pi/4:pi/50:2*pi+pi/4; x(3,: )=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,: )); plot(x,y)

第四讲 、Matlab绘图

第四讲 Matlab绘图 4.1 二维图形 4.2 数据分析图 4.3 三维图形 4.1 二维图形 1、基本图形的绘制 plot(x,y) 对向量x绘制向量y。以x为横坐标,y为纵坐标,按照坐标(xi ,yi)的有序排列绘制曲线。 plot(...,str) 使用字符串str指定的颜色和线型进行绘图。 例1:>> x=-pi:0.02*pi:pi; >> y=sin(x).*x.^2; >> plot(x,y) ezplot(f,xmin,xmax) 绘制函数f在区间[xmin,xmax]上的图形。如果省略xmin和xmax参数,区间将大概取在-2pi——2pi之间。由于ezplot命令使用算法来判断该函数变化显著的区间,因此区间的选取是不固定的。 例2:>> ezplot('sin(x).*x.^2') 2、图形控制 figure(gcf) 显示当前图形窗口。只键入figure命令则创建新的图形窗口; shg 显示当前图形窗口,等价于figure(gcf)。 hold on 保持当前图形。允许在当前图形状态下,使用同样的缩放比例加入另一个图形。 hold off 释放图形窗口,这样下一个图形将称为当前图形。这是缺省状态。 hold 在hold on和hold off之间进行切换。 subplot(m,n,p) 将图形窗口分割成m行n列,并设置p所指定的子窗口为当前窗口。子窗口按行由左至右,由上至下进行编号。这一命令在Matlab的当前版本中也被写作subplot(mnp)。axis…)用行向量中给出的值,设置坐标轴的最大和最小值。对于二维图形,该向量中含有元素: [xmin, xmax, ymin, ymax]。对于三维图形,是[xmin, xmax, ymin, ymax,zmin, zmax]。axis ~~ ~~的不同参数将给出不同的结果: 1.manual 固定坐标轴刻度。如果当前图形窗口为hold on状态,则后面的图形将采用同样的刻度 2.auto 把坐标轴刻度重新设置为缺省状态值。 3.equal 设置x轴和y轴为同样的刻度增量。 4.tight 以数据的大小为坐标轴的范围。 5.ij 翻转y轴,使得正数在下,负数在上。 6.xy 复位y轴,使正数在上。 7.off 坐标轴消隐。 8.on 绘制坐标轴。 title(txt) 在图形窗口顶端的中间位置输出字符串txt作为标题。 xlabel(txt) 在x轴下的中间位置输出字符串txt作为标注。 ylabel(txt) 在y轴边上的中间位置输出字符串txt作为标注。 zlabel(txt) 在z轴边上的中间位置输出字符串txt作为标注。 text(x,y,txt) 在图形窗口的(x,y)处写字符串txt。坐标x和y按照与所绘制图形相同的刻度给出。对于向量x和y,字符串txt写在(xi,yi)的位置上。如果t x t是一个字符串向量,即一个字符矩阵,且与x, y有相同的行数,则第i行的字符串将写在图形窗口的(xi,yi)的位置上。 gtext(txt) 通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字串t xt放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或鼠标上的任意按钮,字符串将会写入在窗口中。

做一个实例,搞定MATLAB界面编程

做一个实例,搞定MATLAB界面编程 2009-04-12 16:55 作者:彭军 带插图版本的pdf格式文件,请下载: https://www.doczj.com/doc/0c13142723.html,/source/1144420 一个实例搞定MATLAB界面编程 作者:彭军 邮件:pengjun@https://www.doczj.com/doc/0c13142723.html, 博客:https://www.doczj.com/doc/0c13142723.html,/pengjun 下面请跟我一步一步做一个图像处理的程序,如果您坚持做完这个实例,我想MATLAB界面编程对您而言,就没有什么难度了。当然,我这里说的是,您首先要有一定的MATLAB编程基础。还有,我的MATLAB版本是2008a。在2008a以前的版本中没有工具栏编辑器,如果需要工具栏要手动写程序,这个我就不多讲了。好了,废话少说,跟我来吧! 1、在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE 界面,如下: 2、然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下: 3、点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下: 4、在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图: 5、在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。 保存我的界面为pjimage.fig. 保存完毕之后,会自动打开pjimage.m文件,而我们所有的程序都是要写在这个M文件里面的。在编程中,我们的每一个鼠标动作都对应一个Callback函数。那么我们的菜单项也是如此的。 在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的控件时,其对应的属性都会在这里显示,我们可以进行修改。最主要的属性莫过于Tag属性和String属性。 设置当前Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。如下: 然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run Figure)。注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure. 我们会看到如下的界面: 那说明,我们保存的.fig文件的目录不是当前目录,但是没关系啊,我们只要

Matlab经典案例

1、三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on 2、一窗口多图形 >> t=-2*pi:0.01:2*pi; >> subplot(3,2,1) >> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t)) 3、图形样式、标注、题字(也可以利用菜单直接 Insert) >> x=0:pi/20:2*pi; >> plot(x,sin(x),'b-.') >> hold on >> plot(x,cos(x),'r--') >> hold on >> plot(x,sin(x)-1,'g:')

>> hold on >> plot(x,cos(x)-1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1'); >> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 = 2.0893 y1 = -0.5000 >> gtext('x=2.5') %鼠标定位放置所需的值在线上 4、 >> fplot('[sin(x),cos(x),sqrt(x)-1]',[0 2*pi]) M文件:myfun.m 内容如下: function y=myfun(x) y(:,1)=sin(x); y(:,2)=cos(x); y(:,3)=x^(1/2)-1; 再运行:>> fplot('myfun',[0 2*pi]) 同样可以得到右图 5、 >> [x,y]=fplot('sin',[0 2*pi]); >> [x1,y1]=fplot('cos',[0 2*pi]); >> plot(x,y,'-r',x1,y1,'-.k') >> legend('y=sinx','y=cosx') 6、

教你如何用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语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言 所不能比拟的。

matlab语言的绘图功能 不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。 matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄 绘图方法。 在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用 图形。

一、二维绘图 (一)plot ——最基本的二维图形指令plot的功能: plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对 数坐标表示

如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形 可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图 可任意设定曲线颜色和线型 可给图形加坐标网线和图形加注功能

plot的调用格式 plot(x) ——缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y) ——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线 plot(x1,y1,x2,y2) ——多条曲线绘 图格式

plot(x,y,’s’) ——开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel表示等。 或plot(x1,y1,’s1’,x2,y2,’s2’,…)

matlab中plot基础绘图实例

%plot基本绘图 x=0:0.1:2*pi; y=sin(x) plot(x,y) %两个参数都是矩阵 x1=0:0.1:2*pi; x2=-pi:0.1:pi; y1=sin(x) y2=cos(x) plot(x1,y1,x2,y2)%多条曲线绘制在统一坐标轴上 %plot只有一个参数 x=linspace(0,2*pi,200) y=sin(x) plot(y) y2=cos(x) y3=y+i*y2%横坐标实部为正弦,纵坐标虚部为余弦,构成一个圆形 plot(y3) axis equal%将上述图型的横纵坐标调整为相同,使得椭圆变为正圆 %plot含有多个参数 x1=linspace(0,2*pi,200) x2=linspace(0,2*pi,100) x3=linspace(0,2*pi,50) y1=cos(x1) y2=sin(x2) y3=0.01*exp(x3) plot(x1,y1,x2,y2,x3,y3)%当x1,x2,x3不同维数(点数不同)可用高方法绘制 %线性选项 x=0:0.1:2*pi; y=sin(x) plot(x,y,'r')%颜色,g为绿色,y为黄色,k为黑色,默认b为蓝色 plot(x,y,'*')%形状,*为*状,p为五角星,.为小方块 plot(x,y,'--')%--为短线,:为虚线,-.为点虚线 plot(x,y,'*r--')%可以组合使用,只需用一对单引号把要求全部括起来 %标注 x=0:0.1:2*pi; y=sin(x) plot(x,y) xlabel('x')%横坐标轴名称 ylabel('y')%纵坐标轴名称

第二讲 Matlab编程与作图

第二讲Matlab编程与作图 第一部分Matlab程序设计初步 Matlab除了指令行操作的直接交互外,作为一种高级应用软件还提供了自己的编程语言。通过编写Matlab程序,可以更加方便地调用Matlab提供的各种功能强大的函数库,使得程序能完成复杂的运算处理大量的数值数据。 1、M文件简介 Matlab提供了丰富的编程语言,使得用户可以将一连串的命令写入文件,然后使用简单的函数来执行这些命令。文件被保存为文本文件,后缀为.m,比如说dblquad.m,因此Matlab的程序通常被称为M 文件。 M文件是一个文本文件,可以使用各种文本编辑器对它进行编辑和修改,比如Windows操作系统自带的记事本,也可以用Matlab 内建的M文件编辑器。 M文件分为两类,一类称为脚本(Scripts),类似于批处理文件,相当于将在Matlab命令窗口中执行的一系列指令放在一个文件中,当在命令窗口调用该文件名时,则按顺序执行其中的命令集。 例:编写求10!的程序。 另一类M文件称为函数(Function),它可以接受输入变量,并将运算结果送至输出变量,类似于数学中的函数y=f(x)。 函数M文件的基本结构: function f=fact(n) 函数定义行

%Compute a factorial value. %FACT(N) returns the factorial of N, 帮助文档%usually denoted by N! %Put simply,FACT(N) is PROD(1:N), 注释 f=prod(1:n); 函数体2、运算符 关系运算符:<, <=, >, >=, = =, ~= 逻辑运算符:与(&),或(|),非(~) 例:编写分段函数 21 () 1 -1<1 321 x x f x x x x ?> ? =≤ ? ?+≤- ? %myfun1.m function y=myfun1(x) y=(x.^2).*(x>1)+(x>-1& x<=1)+(3+2*x).*(x<=-1); 注意:1.函数名与变量名的命名法则相同,要求以字母开头,后接字母或下划线;2.函数名与保存的文件名最好一致。 3、控制流 所有的计算机编程语言都提供了控制程序流执行程序的语法,Matlab也不例外。所有的控制流语法都以end 结尾。 ⑴for 循环语句 语法:for 循环变量=数组 指令组;

Matlab绘图教程(大量实例PPT)

MATLAB绘图

二维数据曲线图 p plot函数的基本调用格式为: x,y) ) plot( plot(x,y 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。 数据 例1 在0≤x2π区间内,绘制曲线y=2e-0.5x cos(4πx) 1≤区间内绘制曲线205x(4) 程序如下: x=0:pi/100:2*pi; cos(4*pi*x); 0.5*x).*cos (4*pi*x); y=2*exp(--0.5*x).* y=2*exp( x,y)) plot(x,y plot(x y plot( x y)

例2 绘制曲线。 绘制曲线 程序如下: t=0:0.1:2*pi; x=t.sin(3t); x=t*sin(3*t); y=t.*sin(t).*sin(t); plot( x,y);); plot(x,y

数最简单的调用格式是包含个输参数plot函数最简单的调用格式是只包含一个输入参数:p() plot(x) 在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出条连续曲线,标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

绘制多根二维曲线 1.plot函数的输入参数是矩阵形式时 数的输参数是矩阵形式时 (1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。 (2) 当x,y是同维矩阵时,则以x,y对应列元素为横、 纵坐标分别绘制曲线,曲线条数等于矩阵的列数。纵坐标分别绘制曲线曲线条数等于矩阵的列数

MATLAB绘图(第2讲)解析

第四章 MATLAB 绘图 复习: 一 、 MATLAB 绘图的一般步骤 1、 取点。 2、 输入作图命令,绘制图形。 二、二维图形的绘制 直角坐标系中,二维曲线的作图命令有:Plot 、fplot 、ezplot Plot ():plot(X,’s ’),plot(x,y,’s ’),plot(X,Y,’s ’) Fplot ():ezplot(‘f ’),ezplot(‘f ’,[xmin,xmax]), ezplot(‘x(t)’,’y(t)’,[xmin,xmax]),fplot(‘fun ’,lims) ezplot ():polar(theta ,rho ,’s ’),ezpolar(‘f ‘),ezpolar(‘f ‘ ,[a ,b]) 第六讲 二 极坐标系由一条带箭头的射线构成,射线端点称为极坐标的极点,射线称为极轴。在极坐标系中平面内的点可极角theta 、极径rho 确定,一般极径rho 被看作是极角theta 的函数,即rho=f(theta) 命令格式 说 明 polar(theta ,rho ,’s ’) 输入时theta 可换为x ,rho 可换为y ,用法与plot 命令相同 ezpolar(‘f ‘) 在默认区间()π2,0上绘制函数rho=f(theta)的图形,用法与ezplot 命令相同。 ezpolar(‘f ‘ ,[a ,b]) 在区间(a ,b )上绘制函数rho=f(theta)的图形 例:阅读并运行下列程序: 1、心形线: 一般方程形式:)cos 1(θ±=a r , )sin 1(θ±=a r (a 为常数) >> x=0:0.05*pi:2*pi; >> y=2*(1+cos(x)); >> polar(x,y)

Matlab画图示例

Matlab 画图示例 1 文档说明 期刊文献中对图形格式、图中曲线线型,文字大小等都会有要求,而matlab 默认输出的图形格式和显示方式可能不符合期刊要求。本文档简单给出了几种调整matlab 输出图形格式的方法及示例图形,仅供参考。 2 示例 2.1 图形格式调整 下面给出设置图片输出格式及调整图形大小、坐标轴及题注字体的示例。如作图y=sin(x),要求图中线型为2,颜色为白底黑色;坐标轴字体为14,标注字体为12,图形宽度为21cm ,以tiff 格式输出,要求分辨率为600dpi ; 102030 40506070 角度 幅值 示例图片 图1 图形格式调整示例 点击edit--copy figure ,将图片粘贴到word,图片输出如图1。 Matlab 程序及说明见附录1 2.2 多曲线显示设置 MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型、线宽及标记点表示出来以示区别。常用的选项设置如下:

各种颜色属性 'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色 各种线型属性 '-' 实线 '--' 虚线 ':' 点线 '-.' 点划线 各种标记点属性选项 '.' 用点号绘制各数据点 '^' 用上三角绘制各数据点 '+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点 '*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点 ' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点 's'或squar 用正方形绘制各数据点 'p' 用五角星绘制各数据点 'd'或diamond 用菱 形绘制各数据点 'h' 用六角星绘制各数据点 这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线。 注意: 1)表示属性的符号必须放在同一个字符串中; 2)可同时指定2~3个属性; 3) 与先后顺序无关; 4)指定的属性中,同一种属性不能有两个以上. 下面给出几个示例。 2.2.1 线宽显示示例 作出四条曲线,线宽分别为1,3,5,7 10 20 30 40 50 60 70 角度 幅值 示例图片 图2 线宽显示示例

Matlab图形绘制经典案例

Matlab图形绘制经典案例---受用无穷1、 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on 2、一窗口多图形 >> t=‐2*pi:0.01:2*pi; >> subplot(3,2,1) >> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([‐pi pi ‐100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([‐pi pi ‐100 100])

>> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t)) 3、 图形样式、标注、题字 (也可以利用菜单直接Insert) >> x=0:pi/20:2*pi; >> plot(x,sin(x),'b‐.') >> hold on >> plot(x,cos(x),'r‐‐') >> hold on >> plot(x,sin(x)‐1,'g:') >> hold on >> plot(x,cos(x)‐1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)‐1','cos(x)‐1');

Matlab作图例子

基本xy平面绘图命令 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。 本节将介绍MA TLAB基本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 xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线 图形完成後,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]);

matlab 三维图形绘制实例

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

相关主题
文本预览
相关文档 最新文档