文档库 最新最全的文档下载
当前位置:文档库 › 自定义的函数用matlab绘图方法

自定义的函数用matlab绘图方法

自定义的函数用matlab绘图方法
自定义的函数用matlab绘图方法

matlab 画图中线型及颜色设置

(2010-04-06 11:18:29)

MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能.本章主要介绍 2

维图形对象的生成函数及图形控制函数的使用方法,还将

简单地介绍一些图形的修饰与标注函数及操作和控制 MATLAB 各种图形对象的方法. 第一节

图形窗口与坐标系一.图形窗口 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 项,打开图形对象的参数设置窗口,可以设置对象的属性. 二.坐标系

1.一个图形必须有其定位系统,即坐标系;

2.在一个图形

窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值;

4.当前坐标系句柄可以由 MATLAB 函数 gca 获得;

5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.

6.一些有关坐标轴的函数:

1)定义坐标范围:一般 MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用

可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定来重新设定; 可用 29 2)

坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用 axis off;axis on 则显示坐标轴可用 (缺省值). 3)通常 MATLAB 的坐标系是长方形,长宽比例大约是

4:3,为了得到一个正方形的坐标系可用:axis square

4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal

第二节二维图形的绘制一. plot 函数 plot 函数是最基本的绘图函数,其基本的调用格式为: 1.plot(y)------绘制向量 y 对应于其元素序数的二维曲线图, 如果 y 为复数向量, 则绘制虚部对于实部的二维曲线图. 例:绘制单矢量曲线图. y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 由于 y 矢量有 10

个元素,x 坐标自动定义为[13 4 5 6 7 8 9 10].图形为: 12345678910 0 2 4 6 8 10 12 14 16 18 20 2.plot(x,y)------ 绘制由 x,y 所确定的曲线. 1)x,y 是两组向量,且它们的长度相等,则

plot(x,y)可以直观地绘出以 x 为横坐标,y 为纵坐标的图形. 如:画正弦曲线: t=0:0.1:2*pi; y=sin(t); plot(t,y) 2)当 plot(x,y)中,x 是向量,y 是矩阵时,则绘制 y 矩阵中各行或列对应于 30 向量 x

的曲线.如果 y 阵中行的长度与 x 向量的长度相同,则以 y 的行数据作为一组绘图数据;如果 y

阵中列的长度与 x 向量的长度相同,则以 y 的列数据作为一组绘图数据;如果 y 阵中行, 列均与 x

向量的长度相同,则以 y 的每列数据作为一组绘图数据. 例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色. x=0:pi/50:2*pi; y(1,:)=sin(x);

y(2,:)=0.6*sin(x); y(2,:)=0.3*sin(x); plot(x,y) 或者还可以这样用: x=0:pi/50:2*pi; y=[ sin(x);

0.6*sin(x); 0.3*sin(x)]; plot(x,y) 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 3)

如果 x,y 是同样大小的矩阵,则 plot(x,y)绘出 y 中各列相应于 x 中各列的图形.

例: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(2,:));

y(3,:)=0.3*sin(x(3,:)); plot(x,y) x=x'; y=y'; figure 31 plot(x,y) 在这个例子中,x------

3x101,y------3x101,所以第一个 plot 按列画出 101 条曲线,每条 3 个点;而 x'------101x3,y'------

101x3,所以第二个 plot 按列画出 3 条曲线,每条 101 个点. 012345678 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 012345678 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 3.

多组变量绘图:plot(x1, y1, 选项 1, x2, y2, 选项 2, ……) 上面的 plot

格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB

在多组变量绘图时,可将曲线以不同的颜

色,不同的线型及标记点表示出来.这些选项如下表所示这些选项如下表所示: 各种颜色属性选项选项意义选项意义 'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 32 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色

各种线型属性选项选项意义选项意义 '-' 实线 '--' 虚线 ':' 点线 '-.' 点划线各种标记点属性选项选项意义选项意义 '.' 用点号绘制各数据点 '^' 用上三角绘制各数据点 '+' 用'+'号绘制各数据点 'v'

用下三角绘制各数据点号绘制各数据点 '*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点

号绘制各数据点 ' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点号绘制各数据点 's'或 squar

用正方形绘制各数据点用正方形绘制各数据点'p' 用五角星绘制各数据点或 'd'或 diamond 用菱

形绘制各数据点 'h' 用六角星绘制各数据点或这些选项可以连在一起用,如

表示绘制绿色的点划线,'g+'表示用绿这些选项可以连在一起用如:'-.g'表示绘制绿色的点划线

表示绘制绿色的点划线表示用绿号绘制曲线. 色的 '+'号绘制曲线号绘制曲线

注意:1)表示属性的符号必须放在同一个字符串中; 2)可同时指定 2~3 个属性; 3) 与先后顺序无关;

4)指定的属性中,同一种属性不能有两个以上. 例:t=0:0.1:2*pi; y1=sin(t); y2=cos(t);

y3=sin(t).*cos(t); plot(t,y1, '-r',t,y2, ':g',t,y3, '*b') 该程序还可以按下面的方式写: t=0:0.1:2*pi; y1=sin(t); y2=cos(t); y3=sin(t).*cos(t); plot(t,y1, '-r')

hold on plot(t,y2, ':g') plot(t,y3, '*b') hold off 注:在 MATLAB

中,如画图前已有打开的图形窗口,则再画图系统将自动掉坐标系中已有的图形对象,但设置了

可以保持坐标系中已绘出擦掉坐标系中已有的图形对象但设置了 hold on 后,可以保持坐标系中已绘出可以保的图形. 的图形 33 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 图(a)

还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色 (MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize) 等其它绘图属性.

例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小. t=0:pi/20:pi; y=sin(4*t).*sin(t)/2;

plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为 2 设置线的宽度为

'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色设置标记点边缘颜色为黑色

'MarkerFaceColor','y',... %设置标记点填充颜色为黄色设置标记点填充颜色为黄色

'MarkerSize',10) %设置标记点的尺寸为 10 设置标记点的尺寸为绘出图形如下: 00.511.522.533.5 -0.5 -0.4 -0.3 -0.2

-0.1 0 0.1 0.2 0.3 0.4 0.5 34 4. 双 Y 轴绘图轴绘图:plotyy()函数函数. 函数其调用格式为: plotyy(x1,y1,x2,y2)------ 绘制由 x1,y1 和 x2,y2 确定的两组曲线,其中 x1, y1

的坐标轴在图形窗口的左侧,x2,y2 的坐标轴在图形窗口的右侧. Plotyy(x1,y1,x2,y2,

'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx, loglog 等. 例如:在一个图形窗口中绘制双 Y 轴曲线. x=0:0.3:12; y=exp(-0.3*x).*sin(x)+0.5;

plotyy(x,y,x,y,'plot','stem') 图形如下: 024681012 0 0.5 1 1.5 024681012 0 0.5 1 1.5 stem: 绘制 stem 形式的曲线(上端带圈的竖线).

绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的 Y 轴

坐标对应的是 plot 形式的曲线,右边的 Y 坐标对应的是 stem 形式的曲线. 对数坐标图绘制函数:

二.对数坐标图绘制函数对数坐标图绘制函数

在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和 loglog 函

数. 1)semilogx( )------绘制以 X 轴为对数坐标轴的对数坐标图数坐标轴的对数坐标图. 绘制以

轴为对数坐标轴的对数坐标图其调用格式为:semilogx(x,y,'属性选项') 其中属性选项同 plot 函数.

该函数只对横坐

标进行对数变换,纵坐标仍为线性坐标. 2)semilogy( )------绘制以 Y 轴为对数坐标轴的对数坐标图

绘制以轴为对数坐标轴的对数坐标图. 其调用格式为:semilogy(x,y,'属性选项') 该

函数只对纵坐标进行对数变换,横坐标仍为线性坐标. 35 3)loglog( )------ 绘制 X,Y

轴均为对数坐标轴的图形. 轴均为对数坐标轴的图形其调用格式为:loglog(x,y,'属性选项') 该函数分别对横,纵坐标都进行对数变换. 例:x=0:0.1:6*pi; y=cos(x/3)+1/9; subplot(221), semilogx(x,y); subplot(222), semilogy(x,y); subplot(223), loglog(x,y);

还提供了一个实用的函数:logspace( )函数可按对数等间距地分函数, 4)MATLAB

还提供了一个实用的函数函数布来产生一个向量,其调用格式为布来产生一个向量其调用格式为:

其调用格式为 x=logspace(x1,x2,n) 这里,x1 表示向量的起点;x2 表示向量的终点;n

表示需要产生向量点的个数(一般可以不给出,采用默认值 50). 在控制系统分析中一般采用这种

方法来构成频率向量 w.关于它的应用后面还要讲到. 极坐标图的绘制函数: 三.极坐标图的绘制函数

极坐标图的绘制函数绘极坐标图可用 polar( )函数.其调用格式如下: polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与 plot 函数基本一致. 例如:极坐标模型为:3145/)/)cos((+

=θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0:0.1:8*pi; p=cos((5*theta)/4)+1/3;

polar(theta,p) 0.5 1 1.5 30 210

60 240 90 270 120 300 150 330 1800 四. 绘制多个子图:subplot( )函数绘制多个子图函数MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成 nxm

个部分. 分割图形窗口用 subplot 函数来实现,其调用格式为: subplot(n,m,k) 或 subplot(nmk)------n,m 分别表示将窗口分割的行数和列数, 36 k 表示要画图部分的代号,表示第几个图形,nmk

三个数可以连写,中间不用符号分开. 例如:将窗口划分成 2x2=4 个部分,可以这样写:

subplot(2,2,1),plot(……) subplot(2,2,2),…… subplot(2,2,3),…… subplot(2,2,4),…… 221 222 223 224 注:subplot 函数没有画图功能,只是将窗口分割. 第三节图形的修饰与标注MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下: 1) 坐标轴的标题坐标轴的标题:title 函数其调用格式为:title('字符串字符串')------字符串可以写中文其调用格式为字符串

字符串可以写中文如:title('My own plot') 2)坐标轴的说明坐标轴的说明:xlabel 和 ylabel 函数

坐标轴的说明格式:xlabel('字符串字符串') 格式字符串 ylabel(' 字符串字符串') 如:xlabel('This is my X axis') ylabel('My Y axis') 3)图形说明文字图形说明文字:text 和 gtext 函数 A.text

函数:按指定位置在坐标系中写出说明文字.

格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定 x1,y1 的坐标单位,如没有选项,则 x1,y1 的坐标单位和图中一致;如选项为'sc', 则 x1,y1

表示规范化窗口的相对坐标,其范围为 0 到 1. (1,1) 规范化窗口 (0,0) 37 如:text(1,2, '正弦曲线')

B.gtext 函数:按照鼠标点按位置写出说明文字. 格式为:gtext('字符串')

当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,

移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上. 4) 给图形加网格给图形加网格:grid 函数在调用时直接写 grid 即可. 上面的函数的应用实例: 例:

在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本. t=0:pi/100:2*pi; y=sin(t);

plot(t,y),grid, 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(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)

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

sin(t)=-0.707rightarrow',... 'FontSize',16,'HorizontalAlignment','right') 画出的图形为: 0246 -1 -0.5 0 0.5 1 0≤t≤π

sin(t) 正弦函数图形 ←sin(t)=0 ←sin(t)=0.707 sin(t)=-0.707→ 5) 在图形中添加图例框

在图形中添加图例框:legend 函数其调用格式为: A.legend('字符串 1', '字符串 2', ……)------

以字符串 1,字符串 2…… 作 38 为图形标注的图例. B.legend('字符串 1', '字符串 2', ……, pos)------pos 指定图例框显示的位置. 个显示位置: 图例框被预定了 6 个显示位置 0------ 取最佳位置

取最佳位置; 右上角(缺省值 1------右上角缺省值右上角缺省值); 2------左上角左上角; 左上角 3------左下角左下角; 左下角 4------右下角; 右图的右侧. -1------图的右侧图的右侧例:在图形中添加图例. 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') 绘出图形如下: 02468 -1 -0.5 0 0.5 1 曲线1 曲线 2 曲线 3

用鼠标点选屏幕上的点:ginput 函数 6)用鼠标点选屏幕上的点用鼠标点选屏幕上的点格式为: [x, y, button]=ginput(n)

其中:n 为所选择点的个数;x,y 均为向量,x 为所选 n 个点的横坐标; y 为所选 n 个点的纵坐标. button 为 n 维向量,是所选 n 个点所对应的鼠标键的标号: 1------左键; 2------中键; 3------ 右键.

可用不同的鼠标键来选点,以区别所选的点.

此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的

点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标. 39 第四节 MATLAB

下图形对象的修改 MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:

屏幕(Root),图形窗口(Figures), 坐标轴(Axes),控件(Uicontrol),菜单(Uimenu),

线(Lines),块(Patches),面(Surface),图像 (Images),文本(Text)等等.

根据各对象的相互关系,可以构成如下所示的树状层次: Root Figures Axes Uicontrol Uimenu Uicontextmenu (对象菜单) Images Line Patch Surface Text

对各种图形对象进行修改和控制,要使用 MATLAB 的图形对象句柄 (Handle).在 MATLAB 中,

每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.

句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是

0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等. 利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.

一.对图形对象的修改可以用下面函数: 1)set 函数:用于设置句柄所指的图形对象的属性. Set

函数的格式为: set(句柄, 属性名 1, 属性值 1, 属性名 2, 属性值 2, ……) 例:h=plot(x,y) set(h,

'Color', [1,0,0])------将句柄所指曲线的颜色设为红色. 2)get

函数:获取指定句柄的图形对象指定属性的当前值. 格式为:get(句柄, '属性名') 如: get(gca, 'Xcolor')------获得 X 轴的当前颜色属性值.

执行后可返回 X 轴的当前颜色属性值[0,0,0](黑色). 3)如果没有设置句柄,则可以使用下列函数获得: gcf:获得当前图形窗口的句柄; gca:获得当前坐标轴对象的句柄; gco:获得当前对象的句柄. 如:

A.要对图形窗口的底色进行修改,可用: set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色

B.要把当前 X 轴的颜色改为绿色,可用: set(gca, 'Xcolor', [0,1,0]) 40

C.还可对坐标轴的显示刻度进行定义: t=-pi:pi/20:pi; y=sin(t); plot(t,y) set(gca,'xtick',[-

pi:pi/2:pi],'xticklabel',['-pi','-pi/2','0','pi/2','pi']) -pi-pi/20pi/2pi -1 -0.5 0 0.5 1

本例中用'xtick'属性设置 x 轴刻度的位置(从-pi~pi,间隔 pi/2,共设置 5

个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数, 因此重新设置['-pi','-

pi/2','0','pi/2','pi']5 个刻度值. 二.一些常用的属性如下: 1)Box 属

性:决定图形坐标轴是否为方框形式,选项为'on'(有方框), 'off'(无方框); 2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为: [1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1] 黄色粉色天蓝红色绿色兰色

颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色. 3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为: 'normal'------正常 'reverse'------反向 4) 坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色, 值为颜色向量

'LineWidth'------ 轴的线宽,值为数字 'Xgrid','Ygrid','Zgrid'------坐标轴上是

否加网格,值为'on'和'off'. 5)坐标轴的标尺属性:'Xtick','Ytick','Ztick'------ 标度的位置,值为向量

'Xticklabel','Yticklabel','Zticklabel'------ 轴上标度的符号,它的值为与标度位置向量同样大

小(向量个数相同)的向量. 5)字体设置属性:'FontAngle'------ 设置字体角度,选项为: 41 'normal'------ 正常; 'italic'------ 斜体; 'oblique'------ 倾斜; 'FontName'------ 字体名称; 'FontSize'------

字号大小 'FontWeight'------ 字体的轻重,选项为:'light', 'normal','bold'

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自定义函数 1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件; 2、函数文件+子函数:定义一个具有多个自定义函数的M文件; 3、Inline:无需M文件,直接定义; 4、Syms+subs:无需M文件,直接定义; 5、字符串+subs:无需M文件,直接定义. 6、匿名函数 7、直接通过@符号定义. 1、函数文件+调用函数文件:定义多个M文件: %调用函数文件:myfile.m clear clc for t=1:10 y=mylfg(t);%调用函数时要注意实参与形参的匹配! fprintf(‘%4d^(1/3)=%6.4f\n’,t,y); end %自定义函数文件:mylfg.m function y=mylfg(x)%注意:函数名(mylfg)必须与文件名(mylfg.m)一致 Y=x^(1/3); 注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。 2、函数文件+子函数:定义一个具有多个子函数的M文件 %函数文件:funtry2.m function[]=funtry2()%可以无自变量()或无因变量[] for t=1:10 y=lfg2(t); fprintf('%4d^(1/3)=%6.4f\n',t,y); end function y=lfg2(x)%%子函数 y=x^(1/3);

%注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。 3、Inline:无需M文件,直接定义; %inline命令用来定义一个内联函数:f=inline(‘函数表达式’,‘变量1’,’变量2’,……)。 调用方式:y=f(数值列表)%注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。 例如: f=inline(‘x^2+y’,’x’,’y’); z=f(2,3) Ans=7 注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是,该方法只能对数值进行代入,不支持符号代入,且对定义后的函数不能进行求导等符号运算。 内联函数定义方式是将f作为一个内部函数调用。其特点是:调用方式最接近于我们平时对函数的定义,使程序更具可读性。同时由于它是基于Matlab的数值计算内核的,所以它的运算速度较快,程序更有效率。 这种定义方式的缺点: 定义一个内联函数用去的内存空间比相同条件下其他的方法要大得多。 该方法只能对数值进行代入,不支持符号代入,并且对于定义后的函数不能进行求导等符号运算。 例:通过命令clear清除工作空间的所有变量后,执行如下指令 Clear Clc f=’x^2’; Syms x g; g=x^2; h=inline(‘x^2’,’x’); whos 4、Syms+subs:无需M文件,直接定义; 用syms定义一个符号表达式,用subs调用: Syms f x%定义符号 f=1/(1+x^2);%定义符号表达式也是符号

MATLAB绘图功能大全

MATLAB绘图功能大全-CAL-FENGHAI.-(YICAI)-Company One 1

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基木参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平而坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基木函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基木用法 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式

plot(x,y)其中x,y为长度相同的向量,存储x坐标和y坐标。 例52在[0,2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令? ? x=0:pi/100:2*pi; ? y=2*exp*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为长度相同的向量,这是最常见、最基木的用法。实际应用中还有一些变化。 2.含多个输入参数的plot函数

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.wendangku.net/doc/751111386.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各种“窗函数”定义及调用

MATLAB窗函数大全 1.矩形窗(Rectangle Window)调用格式:w=boxcar(n),根据长度n 产生一个矩形窗w。 2.三角窗(Triangular Window)调用格式:w=triang(n),根据长度n 产生一个三角窗w。 3.汉宁窗(Hanning Window)调用格式:w=hanning(n),根据长度n 产生一个汉宁窗w。 4.海明窗(Hamming Window)调用格式:w=hamming(n),根据长度n 产生一个海明窗w。 5.布拉克曼窗(Blackman Window)调用格式:w=blackman(n),根据长度n 产生一个布拉克曼窗w。 6.恺撒窗(Kaiser Window)调用格式:w=kaiser(n,beta),根据长度n 和影响窗函数旁瓣的β参数产生一个恺撒窗w。 窗函数: 1.矩形窗:利用w=boxcar(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。‘w=boxcar(n)’等价于‘w=ones(1,n)’. 2.三角窗:利用w=triang(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,它的元素由窗函数的值组成。 w=triang(N-2)等价于bartlett(N)。

3.汉宁窗:利用w=hanning(n)得到窗函数,其中n为窗函数的长度,而返回值w 为一个n 阶的向量,包含了窗函数的n个系数。 4.海明窗:利用w=hamming(n)得到窗函数,其中n为窗函数的长度,而返回值w 为一个n 阶的向量,包含了窗函数的n个系数。它和汉宁窗的主瓣宽度相同,但是它的旁瓣进一步被压低。 5.布拉克曼窗:利用w=blackman(n)得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。它的主瓣宽度是矩形窗主瓣宽度的3倍,为12*pi/N,但是它的最大旁瓣值比主瓣值低57dB。 6.切比雪夫窗:它是等波纹的,利用函数w=chebwin(N,R)方式设计出N阶的切比雪夫2窗函数,函数的主瓣值比旁瓣值高RdB,且旁瓣是等波纹的。 7.巴特里特窗:利用w=bartlett(n)的形式得到窗函数,其中n为窗函数的长度,而返回值w为一个n阶的向量,包含了窗函数的n个系数。 8.凯塞窗:利用w=kaiser(n,beta)的形式得到窗函数。

几何图形技术_Matlab高级绘图

Matlab绘图系列之高级绘图 一、目录 1.彗星图 二维彗星图 三维彗星图 2.帧动画 3.程序动画 4.色图变换 5.V oronoi图和三角剖分 V oronoi图 三角剖分 6.四面体 7.彩带图 彩带图 三维流彩带图 8.伪彩图 9.切片图 切片图 切片轮廓线图 10.轮廓图 显示轮廓线 显示围裙 瀑布效果

带光照模式的阴影图 11.函数绘图 轮廓线、网格图、曲面图、轮廓网格图 轮廓曲面图、二维曲线、极坐标曲线图、自定义函数12.三维图形控制 视点 灯光效果 色彩控制 二、图形示例 1.彗星图 二维彗星图 t=0:.01:2*pi; x=cos(2*t).*(cos(t).^2); y=sin(2*t).*(sin(t).^2); comet(x,y); title('二维彗星轨迹图') hold on plot(x,y)

三维彗星图 a=12; b=9; T0=2*pi;%T0是轨道的周期 T=5*T0; dt=pi/100; t=[0:dt:T]'; f=sqrt(a^2-b^2);%地球与另一焦点的距离 th=12.5*pi/180;%未经轨道与x-y平面的倾角E=exp(-t/20);%轨道收缩率 x=E.*(a*cos(t)-f); y=E.*(b*cos(th)*sin(t)); z=E.*(b*sin(th)*sin(t));

plot3(x,y,z,'g')%画全程轨线hold on,sphere(20);%画地球axis off title('卫星返回地球示例') x1=-18*T0; x2=6*T0; y1=-12*T0; y2=12*T0; z1=-6*T0; z2=6*T0; axis([x1 x2 y1 y2 z1 z2]) % axis([-15 10 -15 10 -10 10]) axis equal comet3(x,y,z,0.02);%画运动轨线hold off 2.帧动画

实验二--用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(matlab)二维绘图fplot语句的应用示例汇总(非常全面)

Matlab二维绘图fplot语句的帮助应用示例 一、每种语句格式的使用说明

二、每种语句格式的应用示例 (1)fplot(f)应用举例 fplot(@(x)cos(x)); (2)fplot (f, xinterval) 应用举例:xinterval——[Xmin, Xmax] fplot(@(x)cos(x), [-pi,pi]);

(3)fplot (funx, funy)应用举例——相当于画带参数的函数 (4)fplot( funx, funy, tinterval)应用举例:tinterval——[tmin tmax]

(5)fplot(___, LineSpec)的应用举例 fplot(@(x)exp(x),[-3 0],'--*y'); hold on; %在一张图上画多个函数fplot(@(x)cos(x),[0 3],'-.^b'); fplot(@(x)sin(x),[3,6],'-+g'); grid on %加网格线

(6)fplot (___,Name, Value)的应用举例 绘制具有不同相位的三个正弦波。对于第一个,使用 2 磅的线宽。对于第二个,指定带有圆圈标记的红色虚线线型。对于第三个,指定带有星号标记的青蓝色点划线线型。 其中第一条语句的’Linewidth’对应name;2对应value。 后附线条属性及各种标记的值,及常用的name, value的值 (7)fplot(ax,___)的应用举例

(8)fp = fplot(___)的应用举例 通过使用圆点表示法设置属性,将线条更改为红色点线。添加交叉标记,并将标记颜色设置为蓝色。 (9)[x,y] = fplot(___)的应用举例

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

常见的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的命令窗口中键入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自定义函数及局部变量.docx

MATLAB 口定义函数及局部变量 2009-11-20 09:17 在开始学习MATLAB的时候并没有发现这个软件有着这么强大的功能,随着课题的不断深入,也在逼迫着自己不断的去应用新的公式并开发新的算法,这就牵涉到了如何在MATLAB中口定义函数的问题,随之而来口然就是所有编程语言所面临的问题,函数调用、局部变量等等。下面就我自己整理的一些心得与大家交流。希望对你也有所帮助。 1、编写自定义函数时尽量分以下四部分: (1)函数定义行:function[outl, out2,.. ]=filcname (ini, in2,..),输入和输岀参数个数分别由nargin和nargout两个MATLAB保留的变量来给岀。 (2)第一行帮助行,以%开头,作为1 ookfor指令搜索的行 (3)函数体说明及有关注解:以(%)开头,用以说明函数的作用及有关内容。如果不希望显示某段信息,可在它的前面加空行 (4)函数体:函数体内使用的除返回和输入变量这些在function语句屮直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会口动在MATLAB的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。 例如卜?血就是一个标准的口字义函数。 function A=myhilb(n, m) % MYH1LB是一个示范性的M-function? % A=MYHILB(N, M)会生成一个NXM 的Hilbert 矩阵 A. % A二MYHILB(N)会生成一个NXN 的Hilbert 矩阵. % MYI1ILB(N,M)仅仅显示一个II订bert矩阵,而不会返冋任何矩阵。 %这些内容在用help时不会显示 if nargout>l, error Too many output arguments.') ; end if nargin=l, m=n; el seif nargin=0 nargin>2 error Wrong number of iutput arguments.');

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,'添加文本');

MATLAB自定义函数及局部变量

MATLA自定义函数及局部变量 2009-11-20 09:17 在开始学习MATLA的时候并没有发现这个软件有着这么强大的功能,随着课题的不断深入,也在逼迫着自己不断的去应用新的公式并开发新的算法,这就牵涉到了如何在MATLA中自定义函数的问题,随之而来自然就是所有编程语言所面临的问题,函数调用、局部变量等等。下面就我自己整理的一些心得与大家交流。希望对你也有所帮助。 1、编写自定义函数时尽量分以下四部分: (1) 函数定义行:function[out1,out2,..]=filename(in1,in2,..) ,输入和输出参数个数分别由nargin和nargout两个MATLA保留的变量来给出。 (2) 第一行帮助行,以%开头,作为lookfor 指令搜索的行 (3) 函数体说明及有关注解:以( %)开头,用以说明函数的作用及有关内 容。如果不希望显示某段信息,可在它的前面加空行 (4) 函数体:函数体内使用的除返回和输入变量这些在function 语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLA的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。 例如下面就是一个标准的自字义函数 function A=myhilb(n, m) % MYHILB 是一个示范性的M-function. % A=MYHILB(N, M)会生成一个NX M 的Hilbert 矩阵A. % A=MYHILB(N会生成一个NX N 的Hilbert 矩阵. % MYHILB(N,M) 仅仅显示一个Hilbert 矩阵,而不会返回任何矩阵 %这些内容在用help 时不会显示 if nargout>1, error('Too many output arguments.'); end if nargin==1, m=n; elseif nargin==0 | nargin>2 error('Wrong number of iutput arguments.');

Matlab自定义函数的五种方法

Matlab自定义函数的五种方法 [转] n 1、函数文件+调用命令文件:需单独定义一个自定义函数的M文件; n 2、函数文件+子函数:定义一个具有多个自定义函数的M文件; n 3、Inline:无需M文件,直接定义; n 4、Syms+subs: 无需M文件,直接定义; n 5、字符串+subs:无需M文件,直接定义. 1、函数文件+调用函数文件:定义多个M文件: % 调用函数文件:myfile.m clear clc for t=1:10 y=mylfg(t); fprintf(‘%4d^(1/3)=%6.4f\n’,t,y); end %自定义函数文件: mylfg.m function y=mylfg(x) %注意:函数名(mylfg)必须与文件名(mylfg.m)一致 Y=x^(1/3); 注:这种方法要求自定义函数必须单独写一个M文件,不能与调用的命令文件写在同一个M文件中。 2、函数文件+子函数:定义一个具有多个子函数的M 文件

%命令文件:funtry2.m function []=funtry2() for t=1:10 y=lfg2(t) fprintf(‘%4d^(1/3)=%6.4f\n’); End function y=lfg2(x) Y= x^(1/3); %注:自定义函数文件funtry2.m中可以定义多个子函数function。子函数lfg2只能被主函数和主函数中的其他子函数调用。 3、Inline:无需M文件,直接定义; %inline命令用来定义一个内联函数:f=inline(‘函数表达式’, ‘变量1’,’变量2’,……)。 调用方式:y=f(数值列表) %注意:代入的数值列表顺序应与inline()定义的变量名顺序一致。 例如: f=inline(‘x^2+y’,’x’,’y’); z=f(2,3) Ans=7 注:这种函数定义方式是将它作为一个内部函数调用。特点是,它是基于Matlab 的数值运算内核的,所以它的运算速度较快,程序效率更高。缺点是,该方法只能对数值进行代入,不支持符号代入,且对定义后的函数不能进行求导等符号运算。 例: Clear Clc

matlab 常用画图调整命令汇总(带例子)

Matlab常用画图调整 1.%单y轴 2.plot(t*1e+9,abs(iGG)/max(abs(iGG)),'k','linewidth',2); 3.axis([-5,5,0,1]) 4.xlabel('时间/ns'); 5.ylabel('幅度/a.u.'); 6.set(get(gca,'title'),'FontSize',10,'FontName','宋体');%设置标题字体大小,字型 7.set(get(gca,'XLabel'),'FontSize',10,'FontName','Times New Roman');%设置X坐标标题字 体大小,字型 8.set(get(gca,'YLabel'),'FontSize',10,'FontName','Times New Roman');%设置Y坐标标题字 体大小,字型 9.set(gca,'FontName','Times New Roman','FontSize',10)%设置坐标轴字体大小,字型 10.text(0.3,1.2,'(a)','FontSize',10,'FontName','Times New Roman');%设置文本字型字号 11.set(gca,'XTick',[0 10 20 30 40 50 60 70 80 90])%设置X坐标轴刻度数据点位置 12.set(gca,'XTickLabel',{'0','10','20','30','40','50','60','70','80','90'})%设置X坐 标轴刻度处显示的字符 13.set(gca,'YTick',[-15 -10 -5 0 5 10 15])%设置X坐标轴刻度数据点位置 14.set(gca,'YTickLabel',{'-15','-10','-5','0','5','10','15'})%设置Y坐标轴刻度处显示的 字符 15.axis([0,90,-20,20]) 16.set(gca,'YTickLabel',[]);%只显示y坐标轴刻度,不显示y坐标轴的值; 17.set(gca,'XTickLabel',[]);%只显示x坐标轴刻度,不显示x坐标轴的值; 18.set(gca,'ytick',[]);%y轴的坐标值和刻度均不显示; 19.set(gca,'xtick',[]);%x轴的坐标值和刻度均不显示; 20. 21.figure; 22.set(gcf,'Position',[400,300,600,200]);%设定plot输出图片的尺寸。参数含义为: xmin,ymin,width,height 23.%plot的默认参数为[232,246,560,420],Position的单位可以用units属性制定,units属性的值 可以是下列字符串中的任何一 24.%种:pixel(像素,缺省值)、normalized(相对单位)、inches(英寸)、centimeters(厘米)、 points(磅)。 25.%指定大小后,在figure中用text输出的文字大小,设置的是多大,在WORD中显示的就是多大。 26.set(gcf,'units','centimeters','Position',[4,3,6,2]);%指定fiugre的尺寸为6cm宽,2cm 高。 27.%也可以直接用下属语句: 28.fiure('units','centimeters','Position',[4,3,6,2]); 29. 30.%改变ylabel离坐标轴的距离 31.hc=findobj(allchild(gcf),'Type','axes'); 32.hc2=findobj(allchild(hc),'Type','text'); 33.set(hc2(3),'Position',[0 0 0]);

matlab常见函数绘制

F1 Ackley Function 1 1 1 cos(2) () F2020 D i i x D e e e π = ∑ =--++ X F2 Griewank Function 2 2 11 1 F()1 4000 D D i i i x == =-+ ∑∏ X x1=linspace(-300,300,50); x2=x1; [X1,X2]=meshgrid(x1,x2); A=X1.^2+X2.^2; B=cos(X1).*cos(X2/sqrt(2)); Z=(1/4000)*A-B+1; meshc(X1,X2,Z) xlabel('X1') ylabel('X2') zlabel('Z') title('Griewank Function') axis square F3 Michalewics Function () 3 2 2 1 F()sin()sin(/);10 D m i i i x ix m π = =-= ∑ X x1=linspace(-10,pi,80); x2=x1; m=10; [X1,X2]=meshgrid(x1,x2); X=[X1,X2]; A=sin(X1).*(sin(X1.^2/pi)).^(2*m); B=sin(X2).*(sin(2*(X2.^2)/pi)).^(2*m); Z=-(A+B); mesh(X1,X2,Z) xlabel('X1') ylabel('X2') zlabel('Z') title('Michalewics') X1 Griewank Function X2 Z X1 Michalewics X2 Z

相关文档
相关文档 最新文档