MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例
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=[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)

(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条曲线,每条线

由三点组成。

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)

(d) 如果y是矩阵,则plot(y)绘出y中各列相对于行号的图形,对于n行矩阵,x轴的坐标为[1:n]。

(2)多组变量绘图( Multiple group variables plotting):

对于一系列相应的矩阵yi和xi,可以使用多组变量绘图法:plot(x1,y1,x2,y2,…,xn,yn),

这种方法的优点是允许将不同大小的矩阵或矢量的图形绘制在一张图上。

例:多组变量绘图。

x=0:pi/50:2*pi; y1=sin(x); y2=0.6*sin(x); y3=0.3*sin(x); plot(x,y1,x,y2,x,y3)

(3)双y轴绘图:plotyy,

在一个图形窗口绘制两组数据曲线,共用一个x轴,图形两边各有一个y轴。两条图线可以调用不同的绘图方法。

例1:

x=0:0.3:12; y=exp(-0.3*x).*sin(x)+0.5; plotyy(x,y,x,y,'plot','stem')

左侧y轴对应plot形式的绘图,右侧y轴对应stem形式的曲线。

例2:对于y坐标不同的情况。

t=0:900; A=1000; a=0.005; b=0.005; z1=A*exp(-a*t); z2=sin(b*t);

plotyy(t,z1,t,z2,'semilogy','plot')

3. 图线形式和颜色(Style and color of plot)

(1) 图线的形式: (style of plot)MATLAB提供的四种线形,

实线虚线- - ,冒号线:,点划线-- .

标记点类型: . , + , *, o, ×, s (或square), d (或diamond), △, ▽, <, >, p (或pentagram), h (或hexagram), plot(x,y,’—‘), plot(x1,y1,’:’,x2,y2,’*’)

例1:选择不同的线形绘图。

t=0:pi/100:2*pi; y=sin(t); y2=sin(t-0.25); y3=sin(t-0.5);

plot(t,y,'-',t,y2,'-',t,y3,':')

例2:选择不同的标记点绘图。

t=0:pi/20:2*pi; x=t.^3; y=sin(t); plot(x,y,'o')

(2) 线的颜色(color of plot):MATLAB中可选的颜色:红r,绿g,

蓝b, 黄y, 粉红m, 青c(cyan) 黑k.

例:t=0:pi/20:2*pi;

y=sin(t); plot(x,y,'r'), plot(x,y,'g+')

(3) 图线的其他属性(other characters of plot):可设置图线的宽度、标记点的边缘颜色、填充颜色、标记点的大小等。例:设置图线的线形、颜色、宽度、标记点的颜色及大小。

t=0:pi/20:pi; y=sin(4*t).*sin(t)/2;

plot(t,y,'-bs','LineWidth',2,'MarkerEdgeColor','k', 'MarkerFaceColor', 'y','MarkerSize',10)

4. 复数绘图(Complex plotting): plot用于函数绘制复数的图形时,通常虚部是被忽略的。但plot只作用于单个复变量z 时,则绘出的是实部对虚部的关系图(复平面上的一组点)。即这时plot(z)等价于plot(real(z)).

例:画一个20 边的多边形(用exp函数生成),顶角用小圆圈表示。

t=0:pi/10:2*pi; plot(exp(i*t),'o'); axis('square')

如果在复平面绘制多重线,只能分别以实部和虚部为坐标来绘制,否则虚部将被忽略,并给出警告。

二.图形的控制与表现(Figure control and representation)

MATLAB提供的用于图形控制的函数和命令:

axis: 人工选择坐标轴尺寸.

clf:清图形窗口.

ginput:利用鼠标的十字准线输入.

hold:保持图形.

shg:显示图形窗口.

subplot:将图形窗口分成N块子窗口。

1.图形窗口(figure window)

(1). 图形窗口的创建和选择(Creating and selecting of figure window)

figure(n)函数用于为当前的绘图创建图形窗口,每运行一次figure就会创建一个新的图形窗口,n表示第个n窗口,如果窗口定义了句柄,也可以用figure(h)将句柄h的窗口作为当前窗口。

clf 命令用于清除当前图形窗口中的内容。

shg命令用于显示当前图形窗口。

(2). 在一个图形窗口中绘制多个子图形(Drawing several subfigures in a single window)

subplot(m,n,p), 把窗口分成m×n个小窗口,并把第p个窗口当作当前窗口。

例:将4 个图形显示在同一个图形窗口中。

t=0:pi/20:2*pi; [x,y]=meshgrid(t);

subplot(2,2,1); plot(sin(t),cos(t)); axis equal

subplot(2,2,2); z=sin(x)+cos(y); plot(t,z); axis([0 2*pi –2 2])

subplot(2,2,3); z=sin(x).*cos(y); plot(t,z); axis([0 2*pi –1 1])

subplot(2,2,4); z=sin(x).^2-cos(y).^2; plot(t,z); axis([0 2*pi –1 1])

(3). 在一个已有的图形上绘图(Drawing a figure on the figure was existed):

用hold on命令在一个已有的图形上继续绘图,使用hold off命令结束继续绘图。

例:将peaks函数的等高线图与伪彩色画在一起。

[x,y,z]=peaks; %产生双变量数组

contour(x,y,z,20,'k') %绘制等高线

hold on

pcolor(x,y,z) %绘制伪彩色图

shading interp %表面色彩渲染

hold off

2.坐标轴控制命令(Axis control commands)

控制坐标性质的axis函数的多种调用格式:

axis(xmin xmax ymin ymax):指定二维图形x和y轴的刻度范围,

axis auto 设置坐标轴为自动刻度(缺省值)

axis manual(或axis(axis))保持刻度不随数据的大小而变化

axis tight 以数据的大小为坐标轴的范围

axis ij 设置坐标轴的原点在左上角,i为纵坐标,j为横坐标

axis xy 使坐标轴回到直角坐标系

axis equal 使坐标轴刻度增量相同

axis square 使各坐标轴长度相同,但刻度增量未必相同

axis normal 自动调节轴与数据的外表比例,使其他设置失效

axis off 使坐标轴消隐

axis on 显现坐标轴

(1) 坐标轴的范围(Domain of coordinates axis):

二维图形坐标轴范围在缺省状态下是根据数据的大小自动设置的,如欲改变,可利用axis(xmin xmax ymin ymax),函数来定义。

例:定义坐标轴范围对观察图形的影响。

x=0:.01:pi/2; figure(1); plot(x,tan(x),'-ro') %ymax=tan(1.57),而其他数据都很小,结果将

%使图形难于进行观察和判断。

figure(2); plot(x,tan(x),'-ro'); axis([0, pi/2,0,5]) %对坐标轴的范围进行控制就可得到较满意的绘图结果

(2)显示比例对绘图结果的影响(Effect of display scaling on plotting results)

例:比较(Default, axis square, axis equal, axis tight)几种不同的显示方式的显示效果。

t=0:pi/20:2*pi; figure(1);

subplot(2,1,1); plot(sin(t),2*cos(t)); grid on %缺省状态下的图形比例

subplot(2,1,2); plot(sin(t),2*cos(t)); axis square; grid on %正方形的显示比例

figure(2)

subplot(1,2,1); plot(sin(t),2*cos(t)) ; axis equal; grid on %具有相等的刻度比例

subplot(1,2,2); plot(sin(t),2*cos(t)); axis tight ; grid on %紧缩形式

3.图形标注(Marking on the figure):MATLAB的图形标注方法(表6—7)

title 标题,

xlabel x轴标注,

ylabel y轴标注,

text 任意定位的标注

gtext 鼠标定位标注,

legent 标注图例

图形标注可以使用字母,数字,汉字或按规定的方法表示希腊字母,如\pi表示π,\leq表示≤,\rm表示后面的字恢复为正体字,\it表示斜体字,FontSize表示字体的大小,FontName表示字体的类型等。

可以使用图形窗口的Insert菜单,也可以使用属性编辑器,还可以使用函数输入的方法加标注,以下介绍相关函数的使用方法。

(1). 加注坐标轴标识和图形标题(Add axis labels and title of figure)

加注坐标轴标识:xlabel(‘s’), ylabel(‘s’)

图形标题: title(‘s’)

例:加注坐标轴标示和图形标题。

t=0:pi/100:2*pi;y=sin(t);

plot(t,y)

axis([0 2*pi,-1 1])

xlabel('0 \leq \itt \rm \leq \pi','FontSize',16)

ylabel('sin(t)','FontSize',20)

title('正弦函数图形','FontName','隶书','FontSize',20)

(2). 图中加注文本(Add text in the figure)

text(x,y,’字符串’)

例:在上图中加语句。

t=0:pi/100:2*pi;

y=sin(t);

plot(t,y)

axis([0 2*pi,-1 1])

xlabel('0 \leq \itt \rm \leq \pi','FontSize',16)

ylabel('sin(t)','FontSize',20)

title('正弦函数图形','FontName','隶书','FontSize',20)

text(3*pi/4,sin(3*pi/4),'\leftarrowsin(t)=0.707', 'FontSize',16)

text(pi,sin(pi),'\leftarrowsin(t)=0', 'FontSize',16)

text(5*pi/4,sin(5*pi/4),'sin(t)=-0.707\rightarrow','FontSize',16, ...

'HorizontalAlignment','right')

句中:

leftarrow 表示加一个向左的箭头

rightarrow表示加一个向右的箭头

HorizontalAlignment 表示右对齐水平排列

gtext函数用于在图形窗口上用鼠标直接在指定的位置上加注文本,调用格式:gtext(‘字符串‘)例:

t=0:pi/100:2*pi;

y=sin(t);

plot(t,y)

axis([0 2*pi,-1 1])

xlabel('0 \leq \itt \rm \leq \pi','FontSize',16)

ylabel('sin(t)','FontSize',20)

title('正弦函数图形','FontName','隶书','FontSize',20)

gtext('MATLAB')

(3). 指定TeX字符

例:在标题中指定TeX字符

t=0:pi/100:2*pi;

alpha=-0.8;

beta=15;

y=sin(beta*t).*exp(alpha*t);

plot(t,y)

title('{\itAe}^{-\it\alpha\itt}sin\it\beta{\itt}\it\alpha<<\it\beta')

xlabel('时间\mus.'),

ylabel('幅值')

在title中的字符串表现的是Aeαt sinβtα<<β

{\itAe}^{-\it\alpha\itt} sin\it\beta{\itt}\it\alpha<<\it\beta’

斜体Ae 上标斜体αt 斜体βt 斜体α 斜体β

4.在图形中添加图例框(Add legend in the figure)

legend(字符串1,字符串2,…)

例:在当前图形中添加图例说明。

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

y1=sin(x);

y2=0.6*sin(x);

y3=0.3*sin(x);

plot(x,y1,x,y2,'-o',x,y3,'-*')

legend( '曲线1','曲线2','曲线3')

legend('boxoff')

legend函数的其他功能见(表6—8)

三.特殊图形(Special figure)

1.条形图(Bar figure):bar(y), bar(x,y), barh, bar3(y), bar3(x,y), bar3h(x,y)

(1) 二维条形图:bar(y), bar(x,y), barh,

(a).如果y是矢量,bar(y) 绘制最简单的条形图, 每一个条形图的位置由y元素的下标决定,高度由y元素的大小决定。

例1:

a=[1 3 5;4 3 7;2 8 4]; bar(a)

(b) 当y是m×n阶的矩阵时,bar(y) 绘制的条形图以分组或叠加的形式表现。矩阵中每一行元素绘制在一组中,每一列元素绘制在每组中相对应的位置上(各组中同样颜色的条形表示同一列数据)。

例2:

y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar(y)

例3:绘制分组形式的水平条形图。

y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; barh(y)

例4:绘制叠加形式的条形图。

y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar(y,’stack’)

例5:绘制叠加形式的水平条形图。

y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; barh(y,'stack')

(b) 使用bar(x,y)绘制指定x坐标的条形图,其中x必须是矢量,用于确定各组条形图的位置。

例1:指定x坐标的二维条形图,

x=[1 2 4 7 10]; y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar(x,y)

例2:指定x坐标的水平二维条形图,

x=[1 2 4 7 10]; y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; barh(x,y)

例3:绘制指定x坐标的叠加形式的二维条形图。

x=[1 2 4 7 10]; y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar (x,y,'stack')

如果y也是矢量,对应每一个x坐标有一个条形,条形的高度表示了矢量y元素的大小。

例4:

x=0:pi/10:2*pi; y=sin(x); bar(x,y)

(2). 三维条形图:bar3(y),将m×n阶的矩阵绘制成分布在三维空间中的柱体,有分组形式和分列形式两种。

例1:分组形式的三维条形图。

y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar3 (y,'group')

例2:分列形式的三维条形图。

y=[9 8 6;2 5 8;6 2 9;5 8 7;9 4 2]; bar3 (y)

(3)条形图中的图形叠加:通过在相同的位置创建一个与原来条形图中的坐标轴相对独立的新的坐标轴实现条形图的叠加。

例:有两组实验数据,一组表示物质成分(TCE),一组表示温度(temp),数据是在35天中每隔5天的采样,将物质成分和温度与时间的关系画在一张图中。

TCE=[515 420 370 250 135 120 60 20]; %实验数据

temp=[29 23 27 25 20 23 23 27];

days=0:5:35; %采样天数

bar(days,temp,'c') %温度与时间的条形图

xlabel('Day')

ylabel('Temperature (^{o}C)')

h1=gca; %获取当前轴对象句柄

h2=axes('position',get(h1,'position'));

%建立新的与h1位置相同的对象句柄

plot(days,TCE,'LineWidth',3)

%在以为句柄的坐标对象上绘制物质成分与时间的关系曲线

set(h2,'YaxisLocation','right','color','none','Xticklabel',[])

%设置句柄为h2的坐标轴对象的y轴为右侧。

set(h2,'Xlim',get(h1,'Xlim'),'Layer','top')

%设置句柄为h2的坐标轴对象的x轴的范围与句柄为h1 的%坐标轴对象轴的范围相同。

text(11,380,'Concentration','Rotation',-55,'FontSize',16)

% 在坐标为[11,380] 的位置以旋转-55°%的方向书写concentration

ylabel('TCE Concentration (PPM)')

title('Bioremediation','FontSize',16)

饼图(pie):用于表示矢量或矩阵中各元素所占有的比例。,函数pie和pie3提供平面饼图和三维饼图的绘图功能。*pie(x) 使用x中的数据绘制饼图,x中的每一个元素用饼图中的一个扇区表示。

*pie(x,explode) 将一些扇区从饼图中分离出来,explode为一个与x尺寸相同的矩阵,其非零元素所对应的x矩阵中的元素从饼图中分离出来。

(1) 不分离饼图:pie(x)

例1:不分离饼图:

x=[5.5 74.7 44.5 33.2 46.6]; pie(x)

(2) 带分离切块的饼图:在矢量x的后面加一个与x相同长度的矢量,该矢量中所有不为0的元素所对应的矢量x中的切块将被分离出来。

例2:

x=[5.5 74.7 44.5 33.2 46.6]; pie(x,[0 0 0 0 1]) %分离第5块

(3) 不完整的饼图:当x的全部元素之和小于1时绘制的是不完整饼图。

例3:

x=[0.2 0.3 0.4]; pie(x)

(4) 三维饼图:有一定厚度的饼图,由函数pie3实现,调用方法与二维饼图相同。

例:带分离切块的三维饼图。

pie3([1 2 3 4 5],[0 1 0 1 0])

3. 其他图形(Other figures):MATLAB有20多种特殊图形的绘制方法,下述为常用方法。

(1)直方图(hist):一种统计运算的结果,它的横轴是数据的幅度,纵轴是对应于各个幅度数据出现的次数,直方图没有负数。

例1:直角坐标系下矢量的直方图。

yn=randn(10000,1);

figure(1)

hist(yn) %缺省状态下画10个条形

figure(2)

hist(yn,20) %可以设置n个条形个数

例2:直角坐标系下的三维数组的直方图。

y=randn(10000,3);

figure(1)

hist(y) %缺省状态下画10个条形

figure(2)

hist(y,20) %hist(y,n)可以设置条形个数为n

(2) 用杆状图表现离散数据

例1:二维杆状图。

x=0:0.2:10; y=exp(-0.3*x).*sin(x);

figure(1); stem(x,y)

figure(2); stem(x,y,':sr') %可用字符串改变线形、标记点形状和颜色

例2:用三维杆状图表现复平面快速傅立叶变换计算。

th=(0:127)/128*2*pi; x=cos(th); y=sin(th); f=abs(fft(ones(10,1),128));

stem3(x,y,f','d','fill')

xlabel('实部'); ylabel('虚部'); zlabel('幅值')

title('频率响应幅值')

例2:用三维杆状图与其他图形的叠加表现拉普拉斯变换基函数。

t=0:0.1:10; s=0.1+i; y=exp(-s*t); %计算延迟指数

stem3(real(y),imag(y),t,'m'); hold on

hline=(plot3(real(y),imag(y),t,'k') %返回三维曲线图的句柄

hold off; set(hline,'LineWidth',3) %设置线宽

xlabel('实部'); ylabel('虚部'); zlabel('幅值')

(3)阶梯图

阶梯图的表现方法:调用函数stairs(x,y),每一阶梯的起始点为矢量y的数据点。

(STAIRS(X,Y) draws a stairstep graph of the elements in vector Y at

the locations specified in X. The X-values must be in

ascending order and evenly spaced.)

例:绘制函数阶梯图。

alpha=0.01; beta=0.5; t=0:10; f=exp(-alpha*t).*sin(beta*t);

stairs(t,f); hold on; plot(t,f,':*') %绘制虚线图以说明阶梯图阶梯起始点的位置

hold off; label='函数e^{-(\alpha*t)} sin\beta*t的阶梯图';

text(0.5,-0.2,label,'FontSize',14); xlabel('t=0:10','FontSize',14); axis([0 10 -1.2 1.2])

(4) 彩色分散点图(Color scatter figure)

彩色分散点图函数:scatter(x,y,c,s) x, y为两个矢量,用于定位数据点,s为绘图点的大小,c为绘图所使用的色彩,s 和c均可以以矢量或表达式形式给出,s和c为与x或y同长度的矢量时标记点尺寸和颜色将按线性规律变化。在scatter 函数的前4各参数之后还可以增加第五个参数‘ filled‘,表示填充绘图点。Scatter与plot 的最大差别在于Scatter可以绘制变尺寸、变颜色的点图。

例:给定数据t=0:pi/10:2*pi, y=sin(t),观察在不同输入参数时函数的绘图结果。

t=0:pi/10:2*pi; y=sin(t)

subplot(3,2,1); scatter(t,y)

subplot(3,2,2); scatter(t,y,'v')

subplot(3,2,3); scatter(t,y,(abs(y)+2).^4,'filled')

subplot(3,2,4); scatter(t,y,30,[0:2: 40],'v','filled')

subplot(3,2,5); scatter(t,y,(t+1).^3,y,'filled')

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; 所的图形如下: -1 1 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 函数所产生的曲面

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中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函数画图(2) 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 x b 蓝色+ + g 绿色* * r 红色- 实线 c 亮青色: 点线 m 锰紫色-. 点虚线 -- 虚线 ==================================================== 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); 此外,MA TLAB也可对图形加上各种注解与处理: xlabel('Input Value'); % x轴注解 ylabel('Function Value'); % y轴注解

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/037939580.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)。

实验一、复变函数与特殊函数图形的绘制

实验一、复变函数与特殊函数图形的绘制 一、复变函数图形的绘制 例题:编程绘制出复变函数31/31 ,的图形。 z z , z 解: %experiment1.m close all clear all m=30; r=(0:m)'/m; theta=pi*(-m:m)/m; z=r*exp(i*theta); w=z.^3; blue=0.2; x=real(z); y=imag(z); u=real(w); v=imag(w); v=v/max(max(abs(v))); %%函数值虚部归一化 M=max(max(u)); m=min(min(u)); axis([-1 1 -1 1 m M]) caxis([-1 1]) %%指定颜色值的范围 s=ones(size(z)); subplot(131) mesh(x,y,m*s,blue*s) %%画投影图 hold on surf(x,y,u,v) %%画表面图 xlabel('x') ylabel('y') zlabel('u') title('z^3') hold off colormap(hsv(64)) %%画色轴 w=z.^(1/3); x=real(z); y=imag(z); subplot(132) for k=0:2 rho=abs(w);

phi=angle(w)+k*2*pi/3; u=rho.*cos(phi); v=rho.*sin(phi); v=v/max(max(abs(v))); %%函数值虚部归一化 M=max(max(max(M,u))); m=min(min(min(m,u))); surf(x,y,u,v) %%画表面图 axis([-1 1 -1 1 m M]) hold on end s=ones(size(z)); mesh(x,y,m*s,blue*s) %%画投影图 xlabel('x') ylabel('y') zlabel('u') title('z^{1/3}') colormap(hsv(64)) %%画色轴 w=1./z; w(z==0)=NaN; x=real(z); y=imag(z); u=real(w); v=imag(w); v=v/max(max(abs(v))); %%函数值虚部归一化 M=max(max(max(M,u))); m=min(min(min(m,u))); subplot(133) surf(x,y,u,v) %%画表面图 hold on axis([-1 1 -1 1 m M]) s=ones(size(z)); mesh(x,y,m*s,blue*s) %%画投影图 xlabel('x') ylabel('y') zlabel('u') title('1/z') colormap(hsv(64)) %%画色轴

用matlab绘制的漂亮图形

用matlab绘制的漂亮图形 1.不同坐标系下的图形对比 theta=0:pi/20:4*pi; phi= theta.^2- theta; [t,p]=meshgrid(theta,phi); r=t.*p; subplot(1,2,1);mesh(t,p,r); ylabel('x');xlabel('y');zlabel('z'); [x,y,z]=sph2cart(t,p,r); subplot(1,2,2);mesh(x,y,z); ylabel('x');xlabel('y');zlabel('z'); 2.球曲面的法线 [x,y,z]=sphere; Surfnorm(x,y,z)

3. x=rand(100,1)*16-8; y=rand(100,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y]= meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y); mesh(X,Y,Z); axis tight;hold on; ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,’r’,’MarkerSize’,15)

x=rand(1000,1)*16-8; y=rand(1000,1)*16-8; r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r; xlin=linspace(min(x),max(x),99); ylin=linspace(min(y),max(y),99); [X,Y]= meshgrid(xlin,ylin); Z=griddata(x,y,z,X,Y); mesh(X,Y,Z); axis tight;hold on; ylabel('x');xlabel('y');zlabel('z'); plot3(x,y,z,'r','MarkerSize',30);

实验二--用matlab绘制一元函数与二元函数的图象

实验二 用matlab 绘制一元函数与二元函数的图象 1.平面曲线的表示形式 对于平面曲线,常见的有三种表示形式,即以直角坐标方程],[),(b a x x f y ∈=,以参数方程],[),(),(b a t t y y t x x ∈==,和以极坐标],[),(b a r r ∈=??表示等三种形式。 2.曲线绘图的MATLAB 命令 MATLAB 中主要用plot,fplot 二种命令绘制不同的曲线。 可以用help plot, help fplot 查阅有关这些命令的详细信息 例16.2.1 作出函数x y x y cos ,sin ==的图形,并观测它们的周期性。先作函数 x y sin =在]4,4[ππ-上的图形,用MA TLAB 作图的程序代码为: >>x=linspace(-4*pi,4*pi,300); %产生300维向量x >>y=sin(x); >>plot(x,y) %二维图形绘图命令 结果如图1.1,上述语句中%后面如“%产生300维向量x ”是说明性语句,无需键入。 图1.1 的图形 此图也可用fplot 命令,相应的MATLAB 程序代码为: >>clear; close; %clear 清理内存;close 关闭已有窗口。 >>fplot('sin(x)',[-4*pi,4*pi]) 结果如图1.2.

图1.2 x y sin =的图形 如果在同一坐标系下作出两条曲线 x y sin =和x y cos =在] 2, 2 [π π -上的图形,相应 的MA TLAB程序代码为: >>x=-2*pi:2*pi/30:2*pi; %产生向量x >>y1=sin(x); y2=cos(x); >>plot(x,y1,x,y2,’:’)%’:’表示绘出的图形是点线 结果如图1.3其中实线是 x y sin =的图形,点线是x y cos =的图形。 图1.3的图形

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在复变函数与积分变换里的应用 目录 1复数的生成 (1) 2 复常数的运算 (1) 2.1—2.3 求复数的实部、虚部、模、幅角、共轭复数 (1) 2.4—2..8两个复数之间进行乘除法运算、幂运算、指数对数运算及方程求根 (2) 2..9MA TLAB极坐标绘图 (6) 3 泰勒级数的展开 (3) 4 留数计算和有理函数的部分分式展开 (4) 4.1 留数计算 (4) 4.2 有理函数的部分分式展开 (5) 5 Fourier变换及其逆变换 (6) 6 Laplace变换及其逆变换由拉普拉斯曲面图观察频域与复频域的关系 (7) 参考文献 (10)

复变函数与积分变换理论性较强,又是解决实际问题的强有力的工具. 本文利用MATLAB讨论了复变函数与积分变换中的复数运算、泰勒级数的展开、留数、有理函数展开、Fourier 变换、Laplace变换和图形绘制等几个问题.可以使用MATLAB来进行复变函数的各种运算,还可以使用matlab进行Taylor级数展开以及Laplace变换和Fourier变换。 1.复数的生成 复数的生成有两种形式。 a: z=a+b*i example1:>> z=2+3*i z = 2.0000 + 3.0000i b: z=r*exp(i*theta) example2: >> z=2*exp(i*30) z = 0.3085 - 1.9761i 2.复数的运算 2.1、复数的实部和虚部 复数的实部和虚部的提取可由函数real和imag实现。 调用形式 real(x)返回复数的实部 imag(x)返回复数的虚部 example3: >> z=4+5*i; >> real(z) ans = 4 >> imag(z) ans = 5

MATLAB绘图函数共22页文档

一、MATLAB通用图形函数命令 有关命令行环境的一些操作: (1) clc 擦去一页命令窗口,光标回 屏幕左上角 (2) clear 从工作空间清除所有变量 (3) clf 清除图 形窗口内容 命令1 figure 功能创建一个新的图形对象。图形对象为在屏幕上单独的窗口,在窗口中可以输出图形。 用法 figure 用缺省的属性值创建一个新的图形对象。 命令2 subplot 功能生成与控制多个坐标轴。把当前图形窗口分隔成几个矩形部分,不同的部分是按行方向以数字进行标号的。每一部分有一坐标轴,后面的图形输出于当前的部分中。 用法 subplot(m,n,p) 将一图形窗口分成m*n个小窗口,在第p个小窗口中创建一坐标轴。则新的坐标轴成为当前坐标轴。若p为一向量,则创建一坐标轴,包含所有罗列在p中的小窗口。 命令3 hold 功能保持当前图形窗口中的图形。该命令是决定是否在当前坐标轴中只能增加新的图形对象还是覆盖原有图形对象。 用法 hold on 保留当前图形与当前坐标轴的属性值,后面的图形命令只能在当前存在的坐标轴中增加图形。但是,当新图形的数据范围超出了当前坐标轴的范围,则命令会自动地改变坐标轴的范围,以适应新图形。 hold off 在画新图形之前,重新设置坐标轴的属性为缺省值。 命令4 axis 功能坐标轴的刻度与外在显示 用法 axis([xmin xmax ymin ymax]) 设置当前坐标轴的x-轴与y-轴的范围。 命令5 close

功能关闭指定的图形窗口。 用法 close 关闭当前的图形窗口。 二、MATLAB绘图参数控制 命令1 plot 功能这是最基本、最常用的绘图函数,用于绘制线性二维图。有多条曲线时,循环使用由坐标轴颜色顺序属性定义的颜色,以区别不同的曲线;之后再循环使用由坐标轴线型顺序属性定义的线型,以区别不同的曲线。 plot 作图时,可以通过四个参数选择控制曲线的类型。 1.线型(4种) 2 指定线条的宽度,取值为整数(单位为像素点) 例如:plot( x, y, ‘linewidth’, 4 ) 3.颜色(8种)

实验2matlab绘图操作

实验2 Matlab 绘图操作 实验目的: 掌握绘制二维图形的常用函数; 掌握绘制三维图形的常用函数; 掌握绘制图形的辅助操作。 实验内容: 设sin .cos x y x x ?? =+??+? ?23051,在x=0~2π区间取101点,绘制函数的曲线。 已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: 在同一坐标系下用不同的颜色和线性绘制三条曲线; 以子图形式绘制三条曲线; 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 3. 已知:ln(x x e y x x ?+≤??=??+>??2 0102 ,在x -≤≤55区间绘制函数曲线。 4. 绘制极坐标曲线sin()a b n ρθ=+,并分析参数a 、b 、n 对曲线形状的影响。 5.在xy 平面内选择区域[][],,-?-8888 ,绘制函数z = 6. 用plot 函数绘制下面分段函数的曲线。 ,(),,x x f x x x x ?++>? ==??+-> x=(0:2*pi/100:2*pi);

>> y=+3*sin(x)/(1+x.^2))*cos(x); >> plot(x,y) 2.已知: y x =2 1,cos()y x =22,y y y =?312,完成下列操作: (1)在同一坐标系下用不同的颜色和线性绘制三条曲线; >> x= linspace(0, 2*pi, 101); >> y1=x.*x; >> y2=cos(2x); >> y3=y1.*y2; plot(x,y1,'r:',x,y2,'b',x,y3, 'ko') (2)以子图形式绘制三条曲线; >> subplot(2,2,1),plot(x,y1) subplot(2,2,2),plot(x,y2) subplot(2,2,3),plot(x,y3)

常见的MATLAB绘图程序

常见的MATLAB绘图程序y=[3,7,9,1,5,2,8]; subplot(1,2,1),plot(y,'linewidth',2),grid x=[3,3,9;8,1,2;1,8,5;7,9,1]; subplot(1,2,2),plot(x),xlabel('x'),ylabel('y') grid on %极坐标曲线 theta=0:0.1:8*pi; polar(theta,cos(4*theta)+1/4) %对数坐标 x=0:0.1:2*pi; y=sin(x); semilogx(x,y); grid on %各种坐标系中 theta=0:0.1:6*pi; r=cos(theta/3)+1/9; subplot(2,2,1),polar(theta,r); subplot(2,2,2),plot(theta,r); subplot(2,3,4),semilogx(theta,r); subplot(2,3,5),semilogy(theta,r); subplot(2,3,6),loglog(theta,r); grid on %双y轴图形 x=0:0.01:5; y=exp(x); plotyy(x,y,x,y,'semilogy','plot'),grid grid on %复数数据 t=0:0.1:2*pi; x=sin(t); y=cos(t); z=x+i*y; plot(t,z),grid plot(z) grid on %二维图形处理 x=(0:0.1: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);

第四讲 、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在复变函数中应用 数学实验(一) 华中科技大学数学系 二○○一年十月

MATLAB在复变函数中的应用 复变函数的运算是实变函数运算的一种延伸,但由于其自身的一些特殊的性质而显得不同,特别是当它引进了“留数”的概念,且在引入了Taylor级数展开Laplace 变换和Fourier变换之后而使其显得更为重要了。 使用MATLAB来进行复变函数的各种运算;介绍留数的概念及MAT–LAB的实现;介绍在复变函数中有重要应用的Taylor展开(Laurent展开Laplace变换和Fourier变换)。 1 复数和复矩阵的生成 在MATLAB中,复数单位为)1 j i,其值在工作空间中都显示为 =sq rt = (- 0+。 .1 i 0000 1.1 复数的生成 复数可由i z+ =。 a =语句生成,也可简写成bi a z* + b 另一种生成复数的语句是) exp(i theta r =,也可简写成) =, z* exp(theta * i r z* 其中theta为复数辐角的弧度值,r为复数的模。 1.2 创建复矩阵 创建复矩阵的方法有两种。 (1)如同一般的矩阵一样以前面介绍的几种方式输入矩阵 例如:)] i A* * i i = + 3[i * - + * , ), 23 5 33 6 exp( 2 3 , exp( 9 (2)可将实、虚矩阵分开创建,再写成和的形式 例如: )2,3( re=; rand im=; )2,3( rand

im i re com *+= ] 5466.07271.05681.02897.07027.05341.08385.03420.03704.03412.03093.06602.0[i i i i i i com ++++++= 注意 实、虚矩阵应大小相同。 2 复数的运算 1.复数的实部和虚部 复数的实部和虚部的提取可由函数real 和imag 实现。 调用形式 )(x real 返回复数x 的实部 )(x imag 返回复数x 的虚部 2.共轭复数 复数的共轭可由函数conj 实现。 调用形式 )(x conj 返回复数x 的共轭复数 3.复数的模和辐角 复数的模和辐角的求解由功能函数abs 和angle 实现。 调用形式 )(x abs 复数x 的模 )(x angle 复数x 的辐角 例:求下列复数的实部与虚部、共轭复数、模与辐角 (1) i 231 + (2)i i i --131 (3)i i i 2)52)(43(-+ (4)i i i +-2184 由MATLAB 输入如下:

实验二 matlab图形绘制

实验二matlab图形绘制 一、实验目的 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 二、实验原理 1.二维数据曲线图 (1)绘制单根二维曲线plot(x,y); (2)绘制多根二维曲线plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列 元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn) (4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2) 2.图形标注与坐标控制 1)title (图形名称) 2)xlabel(x轴说明) 3)ylabel(y轴说明) 4)text(x,y图形说明) 5)legend(图例1,图例2,…) 6)axis ([xmin xmax ymin ymax zmin zmax]) 3.图形窗口的分割 subplot(m,n,p) 4.三维曲线 plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)

5.三维曲面 mesh(x,y,z,c) 与surf(x,y,z,c)。一般情况下,x ,y ,z 是维数相同的矩阵。X ,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 三、实验内容及步骤 1.绘制下列曲线: (1) 2 1100 x y += x=0:0.02:10; y=100./(1+x.^2); plot(x,y) title('my first plot'); xlabel('x'); ylabel('y'); grid on 截图:

Matlab的绘图函数

在Matlab的命令窗口中键入doc graph2d/graph3d/specgraph 可以获得详细的帮助 graph2d Two dimensional graphs. Elementary X-Y graphs. plot - Linear plot. loglog - Log-log scale plot. semilogx - Semi-log scale plot. semilogy - Semi-log scale plot. polar - Polar coordinate plot. plotyy - Graphs with y tick labels on the left and right. Axis control. axis - Control axis scaling and appearance. zoom - Zoom in and out on a 2-D plot. grid - Grid lines. box - Axis box. rbbox - Rubberband box. hold - Hold current graph. axes - Create axes in arbitrary positions. subplot - Create axes in tiled positions. Graph annotation. plotedit - Tools for editing and annotating plots. title - Graph title. xlabel - X-axis label. ylabel - Y-axis label. texlabel - Produces the TeX format from a character string. text - Text annotation. gtext - Place text with mouse. Hardcopy and printing. print - Print graph or Simulink system; or save graph to M-file. printopt - Printer defaults. orient - Set paper orientation. graph3d Three dimensional graphs.

matlab中绘图用的函数,语言

第四讲绘图功能

作为一个功能强大的工具软件,Matlab 具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

4.1 二维图形 一、plot函数 函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例1】在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y)

一、plot函数 【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

一、plot函数 (一)线型与颜色 格式:plot(x,y1,’cs’,...) 其中c表示颜色,s表示线型。 【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

一、plot函数 (二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本');

相关文档
最新文档