MATLAB语言基础课件_第1页
MATLAB语言基础课件_第2页
MATLAB语言基础课件_第3页
MATLAB语言基础课件_第4页
MATLAB语言基础课件_第5页
已阅读5页,还剩469页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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’,…)S的标准设定值如下:

字母颜色标点线型

y黄色·点线

m粉红○圈线

c亮蓝××线

r大红++字线

g绿色-实线

b蓝色

星形线

w白色:虚线

k黑色-·(--)点划线1.单窗口单曲线绘图例1:x=[0,0.48,0.84,1,0.91,0.6,0.14][x1,x2,x3,x4,x5,x6,x7]plot(x)2.单窗口多曲线绘图例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)yy1y2例3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);

y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);

plot(t,[y',y1',y2',y3',y4',y5'])y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);plot(t,y3);holdon;plot(t,y4);plot(t,y5);x=peaks;plot(x)x=1:length(peaks);y=peaks;plot(x,y)3.单窗口多曲线分图绘图subplot——子图分割命令调用格式:

subplot(m,n,p)——按从左至右,从上至下排列行列绘图序号subplot(1,3,1);plot(t,y)

subplot(1,3,2);plot(t,y3)

subplot(1,3,3);plot(t,y2)subplot(3,1,1);

plot(t,y)

subplot(3,1,2);

plot(t,y3)

subplot(3,1,3);

plot(t,y2)

subplot('position',[leftbottomwidthheight])4.多窗口绘图figure(n)——创建窗口函数,n为窗口顺序号。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.可任意设置颜色与线型例4(例2):plot(t,y,'r-',t,y1,'g:',t,y2,'b*')6.图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为:

title——

给图形加标题

xlable——

给x轴加标注

ylable——

给y轴加标注

text——

在图形指定位置加标注

gtext——

将标注加到图形任意位置

gridon(off)——

打开、关闭坐标网格线

legend——

添加图例

axis——

控制坐标轴的刻度例:t=0:0.1:10y1=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('正弦、余弦')gridaxissquare

axis的用法还有:

axis([xminxmaxyminymax])——

用行向量中给出的值设定坐标轴的最大和最小值。

如axis([-2205])

axis(equal)——

将两坐标轴设为相等

axison(off)——

显示和关闭坐标轴的标记、标志

axisauto——

将坐标轴设置返回自动缺省值7.fplot——绘制函数图函数fplot的调用格式:fplot(fun,lims)—

绘制函数fun在x区间lims=[xminxmax]的函数图。fplot(fun,lims,'corline')—以指定线形绘图。[x,y]=fplot(fun,lims)—只返回绘图点的值,而不绘图。用plot(x,y)来绘图。fplot('[sin(x),tan(x),cos(x)]',2*pi*[-11-11])

fplot('humps',[01],'rp')8.ezplot——符号函数的简易绘图函数ezplot的调用格式:ezplot(f)—这里f为包含单个符号变量x的符号表达式,在x轴的默认范围

[-2*pi2*pi]内绘制f(x)的函数图ezplot(f,xmin,xmax)—给定区间ezplot(f,[xmin,xmax],figure(n))—指定绘图窗口绘图。ezplot('sin(x)')

ezplot('sin(x)','cos(y)',[-4*pi4*pi],figure(2))(二)fill––––基本二维绘图函数

fill的功能:绘制二维多边形并填充颜色例:x=[12345];y=[41514];fill(x,y,'r')(三)特殊二维绘图函数

bar––––绘制直方图polar––––绘制极坐标图

hist––––绘制统计直方图

stairs––––绘制阶梯图

stem––––绘制火柴杆图

rose––––绘制统计扇形图

comet––––绘制彗星曲线errorbar––––绘制误差棒图compass––––复数向量图(罗盘图)feather––––复数向量投影图(羽毛图)

quiver––––向量场图

area––––

区域图

pie––––

饼图

convhull––––

凸壳图

scatter––––

离散点图例,绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)例:阶梯绘图h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;subplot(8,1,1);stairs(t,h8(1,:));axis('off')subplot(8,1,2);stairs(t,h8(2,:));axis('off')subplot(8,1,3);stairs(t,h8(3,:));axis('off')subplot(8,1,4);stairs(t,h8(4,:));axis('off')subplot(8,1,5);stairs(t,h8(5,:));axis('off')subplot(8,1,6);stairs(t,h8(6,:));axis('off')subplot(8,1,7);stairs(t,h8(7,:));axis('off')subplot(8,1,8);stairs(t,h8(8,:));axis('off')h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;fori=1:8subplot(8,1,i);stairs(t,h8(i,:))axis('off')end例:绘制极坐标绘图t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)例:绘制火柴杆绘图

t=0:0.2:2*pi;y=cos(t);stem(y)例:绘制直方图

t=0:0.2:2*pi;y=cos(t);bar(y)例:绘制彗星曲线图

t=-pi:pi/500:pi;y=tan(sin(t))-sin(tan(t));comet(t,y)x=[1234567];y=[0001000];

pie(x,y)pie(x,y,{'North','South','East','West',

'middle','fa','white'})loadseamount

scatter(x,y,50,z)a=rand(200,1);b=rand(200,1);

c=rand(200,1);

scatter(a,b,100,c,'p')二、三维绘图三维绘图的主要功能:绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图绘制三维多面体并填充颜色(一)三维线图plot3——基本的三维图形指令调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵plot3(x,y,z,s)——带开关量plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴大小

axis([xminxmaxyminymaxzminzmax])gridon(off)绘制三维网格

text(x,y,z,‘string’)三维图形标注子图和多窗口也可以用到三维图形中例:绘制三维线图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')(二)三维饼图

pie3([43689])(三)三维多边形fill3=fill——三维多边形的绘制和填色与二维多边形完全相同调用格式:

fill3(x,y,z,‘s’)——与二维相同例:用随机顶点坐标画出5个粉色的三角形,并用黄色的○表示顶点y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);fill3(y1,y2,y3,'m');holdon;plot3(y1,y2,y3,'yo')(四)三维网格图mesh——三维网线绘图函数调用格式:

mesh(z)——z为n×m的矩阵,x与y

坐标为元素的下标

mesh(x,y,z)——x,y,z分别为三维空间的坐标位置例,矩阵的三维网线图z=rand(6);

0.88080.07290.41680.76940.37750.47760.33810.71010.09640.63520.38260.70860.18950.87910.67470.89650.68760.23800.74310.35940.56260.87840.12170.39100.71890.08990.81300.48650.07680.97590.87920.16100.87820.11310.14330.6288z=round(z);

100100010101011110101100101001101001mesh(z);mesh(z)例:8阶hadamard矩阵的网线图h2=[11;1-1];h4=[h2h2;h2-h2]h8=[h4h4;h4-h4]111111111-11-11-11-111-1-111-1-11-1-111-1-111111-1-1-1-11-11-1-11-1111-1-1-1-1111-1-11-111-1mesh(h8)三维网线图作图要领生成坐标——[X,Y]=meshgrid(x,y)meshgrid——

网线坐标值计算函数表达式点运算——Z=X.^2+Y.^2z=f(x,y)—

根据x,y坐标找出z的高度默认方位角:37。5º,俯角30º。

例:绘制z=x2+y2的三维网线图形

x=-5:5;y=x;[X,Y]=meshgrid(x,y)Z=X.^2+Y.^2

mesh(X,Y,Z)坐标矩阵坐标向量纵坐标矩阵绘图函数colormap([R,G,B])——色图设定函数matlab的颜色数据集合为红、绿、兰三颜色矩阵[R,G,B],维数m×3r,g,b在[01]区间连续取值,理论上颜色种类可达无穷多种matlab使用三维向量表示一种颜色,常用颜色数据见下表

饱和色

[000]—黑色

[001]—兰色

[010]—绿色

[011]—浅兰

[100]—红色

[101]—粉红

[110]—黄色

[111]—白色

调和色[0.50.505]—

灰色[0.500]—

暗红色[10.620.4]—

铜色[0.4910.8]—

浅绿[0.4910.83]—宝石兰(五)三维曲面图surf——

三维曲面绘图函数,与网格图看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化调用格式:

surf(x,y,z)——

绘制三维曲面图,x,y,z

为图形坐标向量例:[X,Y,Z]=peaks(30)※peaks为matlab自动生成的三维测试图形surf(X,Y,Z)

surfc(X,Y,Z)—

带等高线的曲面图

[X,Y,Z]=peaks(30);surfc(X,Y,Z)(六)图形修饰方法

图形颜色的修饰matlab有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形colormap(MAP)——色图设定函数,MAP为m×3维色图矩阵图形颜色可根据需要任意生成,也可用matlab配备的色图函数matlab的色图函数:

hsv——

饱和值色图

gray——

线性灰度色图

hot——

暖色色图

cool——

冷色色图

bone——

兰色调灰色图

copper——

铜色色图

pink——

粉红色图

prism——

光谱色图

jet——饱和值色图IIflag——

红、白、蓝交替色图shadingfaceted—

网格修饰,缺省方式shadingflat——

去掉黑色线条,根据小方块的值确定颜色shadinginterp——

颜色整体改变,根据小方块四角的值差补过度点的值确定颜色[X,Y,Z]=peaks(30);surfl(X,Y,Z)

shadinginterp;colormap(cool);axisoff

图形效果修饰透视与消隐——用于网线图裁剪修饰——用于网线图、曲面图视角修饰——观察不同角度的三维视图其它修饰:

a.水线修饰

b.等高线修饰透视与消隐p=peaks(30);mesh(p);hiddenonp=peaks(30);mesh(p);hiddenoff裁减修饰p=peaks;p(30:40,20:30)=nan*p(30:40,20:30);surf(p)p=peaks;p(30:40,20:30)=nan*p(30:40,20:30);mesh(peaks,p)视角修饰(函数view(az,el))az----方位角;el----俯视角省缺值为:az=-37.5;el=30例。观察不同视角的波峰图形z=peaks(40);subplot(2,2,1);mesh(z);subplot(2,2,2);mesh(z);view(-15,60);subplot(2,2,3);mesh(z);view(-90,0);subplot(2,2,4);mesh(z);view(-7,-10);其它修饰:

a.水线修饰(waterfall)waterfall(peaks(30))

b.等高线修饰二维contour(Z,n)--------绘制n条等高线C=contourc(Z,n)------计算n条等高线的坐标Clable(c)------给等高线加标注例、在二维平面上绘制peaks函数的10条等高线contour(peaks,10);C=contourc(peaks,10);clabel(C)contour3(peaks,20)(七)、伪彩色图pcolor——常用于以二维平面图表现三维图形的效果,用颜色表示三维图形的高度。z=peaks(30)pcolor(z)三、动画效果动画生成的步骤创建帧矩阵—————movie对动画中的每一帧生成图形,并把它们放到帧矩阵中————getframe从帧矩阵中回放动画小结:基本绘图函数

plot,plot3,fplot,mesh,surf要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定

matlab7.0程序设计基础

——matlab语言称为第四代编程语言,程序简洁、可读性很强而且调试十分容易。是matlab重要组成部分。2.1常量与变量特殊常量一般变量2.2数组2.2.1建立数组2.2.2引用数组2.2.3细胞数组与结构数组细胞数组结构数组2.3运算符2.3.2关系运算符2.3.3逻辑运算符2.3.4逻辑函数2.3.5字符串操作2.4m文件简介用户如想灵活应用matlab去解决实际问题,充分调用matlab的科学技术资源,就需要编辑m文件包含matlab语言代码的文件称为m文件,其扩展名为m。编辑m文件可使用各种文本编辑器。一、matlab的工作模式指令驱动模式

通常matlab以指令驱动模式工作,即在matlab窗口下当用户输入单行指令时,matlab立即处理这条指令,并显示结果,这就是matlab命令行方式。

命令行操作时,matlab窗口只允许一次执行一行上的一个或几个语句。命令行方式程序可读性差,而且不能存储,对于复杂的问题,应编写成能存储的程序文件。在matlab窗口输入数据和命令进行计算时,当处理复杂问题和大量数据时是不方便的。因此应编辑m文件。m文件模式将matlab语句构成的程序存储成以m为扩展名的文件,然后再执行该程序文件,这种工作模式称为程序文件模式。程序文件不能在指令窗口下建立,因为指令窗口只允许一次执行一行上的一个或几个语句。二、m文件的创建m文件的类型是普通的文本文件,我们可以使用系统认可的文本文件编辑器来建立m文件。如dos下的edit,windows的记事本和word等。具体的创建方法:在matlab命令窗口点击file菜单

newm-file利用记事本创建m文件三、matlab文件的类型数据文件.matmat文件是matlab以标准二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来。

mat文件的生成和调用是由函数save和load完成的。例如:saveaa.mataloadaa.mat

2.m文件

m文件的语法类似于c语言,但又有其自身特点。它只是一个简单的ASCII码文本文件,执行程序时逐行解释运行程序,matlab是解释性的编程语言。

m文件有两类

独立的m文件—称命令文件

可调用m文件—称函数文件(1).命令文件—简单的m文件命令文件实际上是一串指令的集合,与在命令窗口逐行执行文件中的所有指令,其结果是一样的。没有输入输出参数。(2).matlab内置函数文件

matlab自定义的函数文件称内置函数文件

调用内置函数的方法:使用函数名并给出相应的入口、出口参数即可。例如:sin.m函数——用typesin查不到。调用格式:y=sin(2*x)

实际应用中:

x=0:2*pi/180:2*pi;y=sin(2*x)plot(x,y)又如sqrt(x)——求x的平方根

abs(x)——求x的绝对值

det(a)——求行列式的值等等。matlab拥有大量的内置数学函数,供我们在数值运算和符号运算中调用。(3).函数m文件—需要输入变量,返回输出变量

matlab用户可以根据需要编辑自己的m文件,它们可以像库函数一样方便的调用,从而极大地扩展了matlab的能力。

对于某一类特殊问题,如创建了许多m函数文件,则可形成新的工具箱。这种用matlab语言创建定义新的matlab函数的功能,正体现了matlab语言强大的扩展功能。特定规则:函数m文件第一行必须以单词function作为引导词,必须遵循如下形式:

function[因变量]=<函数名>(<自变量>)m文件的文件名必须是<函数名>.m。程序中的变量均为局部变量,不保存在工作空间中。其变量只在函数运行期间有效。函数m文件的格式:

function返回变量=函数名(输入变量)注释说明语句段程序语句段lookfordcmdextmDCMDEXTMDemonstratesborderdistortionstoolsintheWaveletToolbox.helpdcmdextm.mDCMDEXTMDemonstratesborderdistortionstoolsintheWaveletToolbox.

Thisisaslideshowfileforusewithwshowdrv.mToseeitrun,type'wshowdrvdcmdextm',

SeealsoDWTMODE,WAVEDEC,WAVEDEC2,WRCOEF2.helpdcmdextm.mDCMDEXTMDemonstratesborderdistortionstoolsintheWaveletToolbox.

Thisisaslideshowfileforusewithwshowdrv.mToseeitrun,type'wshowdrvdcmdextm',

SeealsoDWTMODE,WAVEDEC,WAVEDEC2,WRCOEF2.M.Misiti,Y.Misiti,G.Oppenheim,J.M.Poggi12-Mar-96.LastRevision:01-Jun-2001.Copyright1995-2002TheMathWorks,Inc.$Revision:1.14$$Date:2002/03/2817:22:22$InitializationandLocalfunctionsifnecessary.

四、M文件的调试

M文件错误一般为语法错误和执行错误。语法错误发生在m文件程序代码的解释过程中,一般是函数参数输入类型有误或矩阵运算阶数不符;执行错误是程序执行过程中出现溢出或死循环等造成的。五、matlab的程序结构

matlab语言的程序结构与其它高级语言是一致的,分为顺序结构,循环结构,分支结构。(1).顺序结构——依次顺序执行程序的各条语句(2).分支结构(3)循环结构——被重复执行的一组语句,循环是计算机解决问题的主要手段。

(2).分支结构——根据一定条件来执行的各条语句。

if—else—end语句有3种形式

if表达式执行语句

end

if表达式———是语句1else————否语句2end

if表达式1———多分支语句1elseif表达式2

语句2elseif表达式3

语句3

·

·

·

else

语句nendifAifAx=ax=aelseelseifBifBx=bx=belseifCelsex=cifCelsex=cx=delseendx=dendendend

在条件表达式中,通常都是由关系操作符>,<,<=,>=,==,~=等逻辑操作符&,|,~等逻辑函数:isequal——若是相等则为真

isempty——若是空矩阵则为真

isstr——若是字符串则为真例:编写m函数,计算函数值

x(x<1)2x-1(1<x<10)3x-11(x>=10)④switch语句Switch<选择判断量>Case选择判断值1

选择判断语句1Case选择判断值2

选择判断语句2…..Otherwise

判断执行语句end(3)循环语句主要有:for—end语法为:

fori=表达式(表达式为一个向量)

可执行语句

end例:利用for循环求1!+2!+3!++5!的值

sum=0;fori=1:5pdr=1;fork=1:ipdr=pdr*k;endsum=sum+pdr;endsum=153

while—end循环

while循环将循环体中的语句循环执行不定次数。语法为:while表达式循环体语句

end

表达式一般是由逻辑运算和关系运算以及一般运算组成的,以判断循环的进行和停止;只要表达式的值非0,继续循环;直到表达式值为0,循环停止。例:用while循环求1~100间整数的和

sum=0;i=1;whilei<=100sum=sum+i;i=i+1;endsumsum=5050

六、文件操作

matlab文件输入、输出(I/O)函数允许把其它格式的数据文件直接读进matlab,它是以c语言文件I/O函数为基础的。打开和关闭文件(fopen,fclose)

格式:fid=fopen(‘数据文件’,‘r’)‘r’——读‘w’——写‘a’——附加‘rt’——读写文件一旦打开,即可进行读写操作。

sta=fclose(fid)——关闭上述打开文件

sta=fclose(all)——关闭所有打开的文件2.读写二进制数据文件

fread,fwrite——可读写数据文件,文本文件。例:fid=fopen(‘user.dat’,’r’)a=fread(fid,50)sta=fclose(fid)小结

本节主要介绍了matlab语言程序设计基础。matlab编程简单,容易掌握。通过学习,应能编写简单程序

matlab工具箱

matlab工具箱已经成为一个系列产品,matlab主工具箱和各种工具箱(toolbox)。一、工具箱简介功能型工具箱——

通用型功能型工具箱主要用来扩充matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。领域型工具箱——

专用型领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱(ControlSystemToolbox);信号处理工具箱(SignalProcessingToolbox);财政金融工具箱(FinancialToolbox)等等。只适用于本专业。Matlab常用工具箱MatlabMainToolbox——matlab主工具箱ControlSystemToolbox——控制系统工具箱CommunicationToolbox——通讯工具箱FinancialToolbox——财政金融工具箱SystemIdentificationToolbox——系统辨识工具箱FuzzyLogicToolbox——模糊逻辑工具箱Higher-OrderSpectralAnalysisToolbox——高阶谱分析工具箱ImageProcessingToolbox——图象处理工具箱LMIControlToolbox——线性矩阵不等式工具箱ModelpredictiveControlToolbox——模型预测控制工具箱μ-AnalysisandSynthesisToolbox——μ分析工具箱NeuralNetworkToolbox——神经网络工具箱OptimizationToolbox——优化工具箱PartialDifferentialToolbox——偏微分方程工具箱RobustControlToolbox——鲁棒控制工具箱SignalProcessingToolbox——信号处理工具箱SplineToolbox——样条工具箱StatisticsToolbox——统计工具箱SymbolicMathToolbox——符号数学工具箱SimulinkToolbox——动态仿真工具箱SystemIdentificationToolbox——系统辨识工具箱WaveleToolbox——小波工具箱等等例如:优化工具箱线型规划和二次规划求函数的最大值和最小值多目标优化约束条件下的优化非线型方程求解信号处理工具箱数字和模拟滤波器设计、应用及仿真谱分析和估计FFT、DCT等变换参数化模型学科前沿最新的工具箱

模糊控制逻辑工具箱友好的交互设计界面,自适应神经-模糊学习、聚类以及Sugeno推理

神经网络工具箱神经网络系统具有集体运算的能力和自适应的学习能力。具有很强的容错性和鲁棒性,善于联想、综合和推广。二、通用工具箱Matlab主工具箱前面课程所介绍的数值计算、符号运算、绘图以及句柄绘图都是matlab主工具箱的内容,是matlab的基本部分,也是我们课程的重点。Matlab主工具箱位于:

c:\matlab\toolbox\matlabmatlab主工具箱是任何版本的matlab都不可缺少的。除toolbox\matlab之外的工具箱,在比较完整的专业版matlab语言中有20多个工具箱。这些工具箱是需要单独选择购买的。matlab主工具箱函数库datafun——数据分析函数库sonnds——声音处理函数库dde——动态数据交换函数库elfun——初等数学函数库specmat——特殊矩阵函数库elmat——初等矩阵和时间函数库funfun——函数功能和数学分析函数库general——通用命令函数库graphics——通用图形函数库iofun——底层输入输出函数库lang——语言结构函数库matfun——矩阵线性代数函数库ops——运算符和逻辑函数库plotxy——二维绘图函数库plotxyz——三维绘图函数库color——颜色和光照函数库polyfun——多项式函数库sparfun——稀疏矩阵函数库strfun——字符串函数库demos——matlab演示函数库………

各函数库中的函数可用help函数库名查询,或type函数名方法查询例:helpplotxyTwodimensionalgraphics.ElementaryX-Ygraphs.plot-Linearplot.loglog-Log-logscaleplot.semilogx-Semi-logscaleplot.semilogy-Semi-logscaleplot.fill-Drawfilled2-Dpolygons.SpecializedX-Ygraphs.polar-Polarcoordinateplot.bar-Bargraph.stem-Discretesequenceor"stem"plot.stairs-Stairstepplot.errorbar-Errorbarplot.hist-Histogramplot.rose-Anglehistogramplot.compass-Compassplot.feather-Featherplot.fplot-Plotfunction.comet-Comet-liketrajectory.Graphannotation.title-Graphtitle.xlabel-X-axislabel.ylabel-Y-axislabel.text-Textannotation.gtext-Mouseplacementoftext.grid-Gridlines.SeealsoPLOTXYZ,GRAPHICS.2.符号运算工具箱主要功能以符号为对象的数学。在大学教学中,符号数学是各专业都能用到的。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。特点:

运算对象可以是没赋值的符号变量

可以获得任意精度的解

符号运算的功能符号表达式、符号矩阵的创建符号可变精度求解符号线性代数因式分解、展开和简化符号代数方程求解符号微积分符号微分方程例如:z='a*t^2+b*t+c';r=solve(z,‘t’)——对缺省变量求解r=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]对任意变量求解r=solve(z,'b')r=-(a*t^2+c)/tr=solve(z,'c')r=-a*t^2-b*tr=solve(z,'a')r=-(b*t+c)/t^23.Simulink动态仿真工具箱simulink工具箱简介simulink是实现动态系统建模、仿真和分析的一个集成环境,使得matlab的功能得到进一步扩展,它可以非常容易的实现可视化建模,把理论研究和工程实践有机的结合在一起。大部分专用工具箱只要以matlab主包为基础就能运行,有少数工具箱(通讯工具箱、信号处理工具箱等)则要求有simulink工具箱的支持。由于matlab和simulink是集成在一起的,因此用户可以在两种环境下对自己的模型进行仿真、分析和修改。不用命令行编程,由方框图产生m文件(s函数)当创建好的框图保存后,相应的m文件就自动生成,这个.m文件包含了该框图的所有图形及数学关系信息。框图表示比较直观,容易构造,运行速度较快。

Simulink优点适应面广:包括线性、非线性系统;离散、连续系统结构和流程清晰:以方块图形式呈现,仿真精细、贴近实际

simulink的模型:

simulink模型在视觉上表现为方框图,在文件上则是扩展名为m的ASCII代码(matlab6是扩展名为mdl的ASCII代码);在数学上体现为一组微分方程或差分方程;在行为上模拟了物理器件构成的实际系统的动态特性。

simulink的一般结构:输入系统输出

仿真原理当在框图视窗中进行仿真的同时,matlab实际上是运行保存于simulink内存中s函数的映象文件,而不是解释运行该m文件。s函数并不是标准m文件,它m文件的一种特殊形式。

结构图创建方法一个动态系统的创建过程,就是一个方框图的绘制过程具体步骤:在matlab命令窗口键入simulink信号源库离散模块库非线性模块库其它模块库仿真连接模块库线性模块库输出模块库

选则Fine菜单New选项,出现一个新窗口,即可绘制结构图。例:模拟一个微分方程

x=-2x+uuxx-2x..方框图绘制完毕,一个动态系统模型也就创建好了。选择File菜单Save保存图形,就自动生成一个可在matlab命令窗口运行的m文件。然后就可用simulation菜单中start开始仿真了。仿真结果:三、工具箱和工具箱函数的查询办法matlab的目录结构目录树c:\matlab\binc:\matlab\externc:\matlab\simulinkc:\matlab\toolbox\comm\c:\matlab\toolbox\control\c:\matlab\toolbox\symbolic\...matlab\bin——该目录包含matlab系统运行文件,matlab帮助文件及一些必需的二进制文件。matlab\extern——包含MATLAB与C,FORTRAN语言的交互所需的函数定义和连接库。matlab\simulink——包含建立simulinkMEX-文件所必需的函数定义及接口软件。matlab\toolbox——各种工具箱,MathWorks公司提供的商品化matlab工具箱有30多种。toolbox目录下的子目录数量是随安装情况而变的。2.工具箱matlabtoolbox工具箱在windows下由目录检索得到。也可以在matlab下得到,启动matlab后

cd_..——matlab缺省目录是bin,回到

matlab目录下

cd_toolbox

dir——工具箱清单.compilerfixpointlminagqft..controlfuzzylocalncdrobustadasymbolicdspblkshosamatlabnnetsignaluitoolscodegenfdidentidentmpcoptimsimulinkwaveletcommfinancesplinespdeesmutoolsstats3.工具箱函数清单的获得所有工具箱中都有函数清单文件contents.m,可用各种方法得到工具箱函数清单

执行在线帮助命令

help工具箱名称列出该工具箱中contents.m的内容,显示该工具箱中所有函数清单例如:helpsymbolichelpoptim

函数的查询:help函数名

使用type命令得到工具箱函数的清单

typesignal\contentstypeoptim\contents

如果在当前工具箱目录下可用

helpcontentstypecontents得到该工具箱的函数清单

由于contents.m为文本文件,可以通过任何文本编辑器打开阅读如:edit、word、写字板、记事本4.matlab函数的查阅与定位which函数名——给函数定位例如:whichlaplaced:\matlab42\toolbox\symbolic\laplace.mwhichfft2d:\matlab42\toolbox\matlab\datafun\fft2.mwhichpolyd:\matlab42\toolbox\matlab\polyfun\poly.mwhichconstrd:\matlab42\toolbox\optim\constr.mwhichplotplotisabuilt-infunction.which命令只能定位matlab的外部命令,而对内部命令是无效的。matlab内部函数只能通过contents.m工具箱清单文件来查询小结能够熟练掌握通用工具箱函数的用法掌握matlab工具箱函数的查询与定位

MATLAB语言入门一、MATLAB语言的发展取名MATLAB即MatrixLaboratory即“矩阵实验室”的意思设计者的初衷是为解决“线性代数”课程的矩阵运算问题

matlab语言是由美国新墨西哥大学计算机系系主任CleverMoler博士于20世纪70年代开发的1983年,开发了第2代MATLAB1984年,成立了MATHWORKS公司,继续MATLAB软件的研发1993年,MATHWORKS公司推出了MATLAB3.x2001年,MATHWORKS公司推出了MATLAB6.x2004年,MATHWORKS公司推出了MATLAB7.0MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理;声音处理于一身,并提供了丰富的Windows图形界面设计方法MATLAB语言是功能强大的计算机高级语言,成功地应用于各工程学科的研究领域MATLAB在美国已经作为大学工科学生必修的计算机语言之一(C,FORTRAN,ASSEMBLER,MATLAB)近年来,MATLAB语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校二、matlab能在各领域做什么数学教学,特别是线性代数数值分析和科学计算方面的教学与研究电子学、控制理论和物理学等工程和科学学科方面的教学与研究经济学、化学和生物学等领域中的教学与研究例、用一个简单命令求解线性系统

3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4A=[31-1;124;-145];b=[3.6;2.1;-1.4]’;x=b/Ax=1.4818-0.46060.3848对于线性系统有Ax=b例、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x,y2,x,y3)阶梯图MATLAB语言的特点:

语言简洁紧凑,语法限制不严,程序设计自由度大,可移植性好运算符、库函数丰富图形功能强大界面友好、编程效率高扩展性强

MATLAB7.0的新特点MATLAB语言的功能:强大的数值(矩阵)运算功能广泛的符号运算功能高级与低级兼备的图形功能(计算结果的可视化功能)可靠的容错功能应用灵活的兼容与接口功能信息量丰富的联机检索功能1.矩阵运算功能MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。变量

矩阵,运算

矩阵的运算例如C=A+B,A,B,C都是矩阵,是矩阵的加运算即使一个常数,Y=5,MATLAB也看做是一个1

1的矩阵2.符号运算功能符号运算即用字符串进行数学分析允许变量不赋值而参与运算用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号解3.丰富的绘图功能与计算结果的可视化具有高层绘图功能——两维、三维绘图具有底层绘图功能——句柄绘图使用plot函数可随时将计算结果可视化4.图形化程序编制功能动态系统进行建模、仿真和分析的软件包用结构图编程,而不用程序编程只需拖几个方块、连几条线,即可实现编程功能Y(S)/X(S)=G(S)/(1+G(S))G(S)=50/S2+2S+45.丰富的MATLAB工具箱MATLAB主工具箱符号数学工具箱SIMULINK仿真工具箱控制系统工具箱信号处理工具箱图象处理工具箱通讯工具箱系统辨识工具箱神经元网络工具箱金融工具箱许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大6.MATLAB的兼容功能可与C语言、FORTURE语言跨平台兼容用函数CMEX、FMEX实现7.MATLAB的容错功能非法操作时,给出提示,并不影响其操作1/0Warning:Dividebyzeroans=Inf8.强大的联机检索帮助系统可随时检索matlab函数可随时查询matlab函数的使用方法三、安装与启动MATLAB开机执行程序

c:\matlab\bin\matlab.exe用鼠标双击matlab图标即可打开matlab命令平台四、MATLAB界面五、matlab与dos兼容命令1.dir—

可列出指定目录下的文件和子目录清单例如:Dir可显示当前目录下的所有文件Dirc:\matlabDirc:\matlab\*.m2.cd—可改变当前工作目录

cd__——

显示当前子目录

cdc:\matlab\toolboxcd_..——

退出当前子目录到上一级目录

cd_\——回到根目录3.type—

可显示指定文件的全部内容

typemyfile.m

与dos下的用法完全一样4.delete—

删除指定文件delabc—

删除当前目录下的abc文件

delc:\matlab\aaa.m注意:只可删除用户文件,其它文件不要轻易删除,否则系统会瘫痪

六、matlab联机帮助命令七、matlab的演示功能小结一、初步了解matlab二、熟悉matlab界面。

matlab图形用户界面——matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形界面,而且为动态图形的制作奠定了基础。高层绘图与底层绘图的区别高层绘图函数——是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了matlab语言的实用性。底层绘图函数——可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。充分体现了matlab语言的开发性。一、什么是句柄图形句柄图形:利用底层绘图函数,通过对对象属性的设置(HandleGraphics)与操作实现绘图。句柄图形中所有图形操作都是针对图形对象而言的。句柄图形充分体现了面向对象的程序设计。句柄图形的功能句柄图形可以随意改变matlab生成图形的方式。句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。句柄图形的特性高层绘图函数是无法实现的。二、图形对象和句柄图形对象——

图形系统中最基本、最底层的单元引例:x=0:2*pi/180:2*pi;y1=sin(2*x);y2=cos(2*x);plot(x,y1,x,y2)父对象子对象图形对象的基本要素以根屏幕为先导图形对象之间的关系为父代与子代的关系窗口1窗口n窗口2

界面控件界面菜单轴线面字块像根屏幕说明:根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。图形窗口:

根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象则是窗的后代。界面控件:图形窗口的子代,创建用户界面控件对象,使得用户可采用鼠标在图形上作功能选择,并返回句柄。界面菜单:

图形窗口的子代,创建用户界面菜单对象

轴:图形窗口的子代,创建轴对象,并返回句柄,线面字块像的父辈线:轴的子代,创建线对象面:轴的子代,创建面对象字:轴的子代,创建字对象块:轴的子代,创建块对象像:轴的子代,创建图像对象窗口对象线对象轴对象面对象轴对象像对象块对象线对象文字对象2.创建图形对象的底层函数figure

创建图形窗口调用格式:h=figure(n)n为窗口序号uicontrol

图形界面控件调用格式:h=uicontrol(‘property’,value)property/value确定控制类型uimenu

创建用户界面菜单调用格式:

h=uimenu(‘property’,value)property/value确定菜单形式。axes

创建轴对象

h=axes(‘property’,)

定义轴对象的位置与大小

left,bottomwidth,height

line

创建线对象

h=line(x,y,z)patch

创建块对象

h=patch(x,y,z,c)x,y,z定义多边形,c确定填充颜色。surface

创建面对象

h=surface(x,y,z,c)x,y,z三维曲面坐标,c颜色矩阵。

二维画线

三维画线image

显示图象

h=image(x);x为图像矩阵text

标注文字

h=text(x,y,’string’)

每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。确定标注位置标注字符串3.图形对象的属性※图形对象是由属性来描述的例如:figure大小位置[11640480]

颜色[000]

省缺

line

a.x,y数据;b.线的颜色

c.线型;d.线宽※在高层绘图中对图形对象的描述一般是省缺的或由高层绘图函数自动设置的,因此对用户来说几乎是不透明的。※但句柄绘图中上述图形对象都是用户需要经常使用的,所以要作到心中有数,用句柄设置图形对象的属性。4.句柄(handle)与句柄操作什么是句柄?句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。各图形对象的句柄数据格式:

根屏幕0

图形窗口整数,表示图形窗口数其它对象对应的符点数

所有能创建图形对象的matlab函数都可给出所创建图形对象的句柄例:创建1号窗口,返回句柄

h=figure(1)h=1返回值为窗口号数例:h=lien(1:6,1:6)创建线对象的同时也建立了一个唯一的句柄变量h是句柄值——符点数三、图形对象属性的获得与设置句柄属性的设置与修改get:获得句柄图形对象的属性和返回某些对象的句柄值set:改变图形对象的属性专用函数:gcf:当前窗口对象的句柄GetCurrentFiguregca:当前轴对象的句柄GetCurrentAxes操作格式:h=gcf将当前窗口对象的句柄返回hget(h)或get(gcf)查阅当前窗口对象的属性delete(gcf)删除当前窗口的属性例:创建一个线对象并返回线对象的句柄值

h1=line([0:10],[0:10])h1=57.0001h1为句柄的代码值查阅线对象的属性名称和属性值get(h1) Color=[110] EraseMode=normal LineStyle=- LineWidth=[0.5] MarkerSize=[6] Xdata=[(1by11)] Ydata=[(1by11)] Zdata=[]

ButtonDownFcn=

Children=[]

Clipping=on

Interruptible=no

Parent=[56.0001]

Type=line

UserData=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论