ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:61.25KB ,
资源ID:12328274      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12328274.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB函数.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB函数.docx

1、MATLAB函数MATLAB基础第二章 MATLAB数据 在一般情况下,矩阵元素必须具有相同的数据类型。对于数值数据,MATLAB中最常用的类型为双精度型,占64位(8个字节),用double函数实现转换。此外,还有单精度,占32位(4个字节),用single函数实现转换。还有带符号整数和无符号整数,其转换函数有int8、int16、int32,每一个函数名后面的数字表示相应数据类型所占位数。MATLAB赋值语句有两种格式:(1)变量=表达式(2)表达式 在一般情况下,MATLAB内部每一个数据元素都是用双精度数来表示和存储的。数据输出是可以用format命令设置或改变数据输出格式。forma

2、t命令的格式: format 格式符注意,format命令只影响数据输出格式,而不影响数据的计算和存储。控制数据输出格式的格式符:P20。常用的预定义变量 预定义变量含义预定义变量含义ans计算结果的缺省赋值变量nargin函数输入参数个数eps机器零阈值nargout函数输出参数个数pi圆周率的近似值realmax最大正实数i,j虚数单位realmin最小正实数Inf,inf无穷大。如1/0的结果lasterr存放最新的错误信息NaN,nan非数。如0/0、inf/inf的结果lastwarn存放最新的警告信息 who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。

3、但whos在给出驻留变量名的同时,还给出他们的维数、所占字节数及性质。 clear命令用于删除MATLAB工作空间中的变量。注意,预定义变量不能被删除。 利用MATLAB函数建立矩阵zeros 产生全0矩阵(零矩阵)ones 产生全1矩阵(幺矩阵)eye 产生单位矩阵rand 产生01间均匀分布的随机矩阵randn 产生01间正态分布的随机矩阵调用格式是:zeros(m) 产生mm零矩阵zeros(m,n) 产生mn零矩阵。当m=n时,等同于zeros(m)zeros(size(A) 产生与矩阵A同样大小的零矩阵其中,size(A)函数返回包含两个元素的向量,分别是矩阵A的行数和列数。相关的函

4、数有:length(A)给出A的行数和列数中的较大者,即length(A)=max(size(A);ndim(A)给出A的维数。冒号表达式一般形式: e1:e2:e3其中e1为初始值,e2为步长,e3为终止值。 在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n) 其中a和b是生成向量的第一个和最后一个元素,n是元素总数。当n省略时,自动产生100个元素。linspace(a,b,n)与a:(b-a)/(n-1):b等价 MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。如果给出的行下标或列下标大于原来矩阵的行数和列数,则MATLAB将自

5、动扩展原来的矩阵,并将扩展后未赋值的矩阵元素置为零。在MATLAB中,也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,在第二列,依次类推。显然,序号(Index)与下标(Subscript)是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。矩阵拆分(1)利用冒号表达式获得子矩阵A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A

6、矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的元素。可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。End表示矩阵某一维的末尾元素下标。(2)利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X= 。注意,X=与clearX不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。MATLAB常用数学函数函数名含义函数名含义sin正弦函数exp自然指数函数cos余弦函数pow22的幂tan正切函数abs绝对值函数asin反正弦函数angle复数的幅角acos反余弦函数re

7、al复数的实部atan反正切函数imag复数的虚部sinh双曲正弦函数conj复数共轭运算cosh双曲余弦函数rem求余数或模运算tanh双曲正切函数mod模除求余asinh反双曲正弦函数fix向零方向取整acosh反双曲余弦函数floor不大于自变量的最大整数atanh反双曲正切函数ceil不小于自变量的最小整数sqrt平方根函数round四舍五入到最邻近的整数log自然对数函数sign符号函数log10常用对数函数gcd最大公因子log2以2为底的对数函数lcm最小公倍数函数使用户说明:见书本P33。2.4.2关系运算6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不

8、等于)。2.4.3逻辑运算3种逻辑运算符:&(与)、|(或)、(非)。若参与逻辑运算的是两个同为矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。2.5字符串在MATLAB语言中,字符串是用单撇号括起来的字符序列。字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII

9、码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。字符串处理函数函数名含义函数名含义setstr将ASCII码值转换成字符str2num将字符串转换成数值mat2str将矩阵转换成字符串strcat用于字符串的连接num2str将数值转换成字符串strcmp用于字符串的比较int2str将整数转换成字符串若字符串中的字符含有单撇号,则该单撇号字符应用两个单撇号来表示。对于较长的字符串可以用字符串向量表示,即用括起来。2.6结构和单元2.6.1结构数据(Structure)结构矩阵名. 成员名=表达式结构矩阵元素的成员也可以是结构数据。对于结构数据的引用,可以引用其成员,也可

10、以引用结构矩阵的元素或结构变量。引用结构矩阵元素的成员时,显示其值。引用结构矩阵元素时,显示成员名和它的值,但成员是矩阵时,不显示其具体内容,只显示成员矩阵大小参数。引用结构矩阵时,只显示结构矩阵的大小参数和成员名。关于结构的函数函数名含义函数名含义struct建立或转换为结构矩阵fieldnames获取结构成员名getfield获取结构成员的内容setfield设定结构成员的内容rmfield删除结构成员isfield成员在结构中时,值为真isstruct是结构时,值为真2.6.2单元数据结构变量的各个元素下有成员,每个成员有自己的名字,对成员的引用是:结构变量名. 成员名。而单元矩阵的各个

11、元素就是不同类型的数据,用带有大括号下标的形式引用单元矩阵元素。建立单元矩阵,将矩阵元素用大括号括起来。可以用带有大括号下标的形式引用单元矩阵元素。单元矩阵的元素可以是结构或单元数据。关于单元的函数函数名作用函数名作用celldisp显示单元矩阵内容cellplot显示单元矩阵的图形描述num2cell把数据矩阵转换为单元矩阵deal把输入分配给输出cell2struct把单元矩阵转换为结构矩阵struct2cell把结构矩阵转换为单元矩阵iscell是单元矩阵时,值为真第三章 MATLAB程序设计MATLAB命令有两种执行方式:一种是交互式的命令执行方式,另一种是M文件的程序执行方式。M文件

12、的分类M文件有两类:命令文件(Script File)和函数文件(Function File)。主要区别在于:(1)命令文件没有输入参数,也不返回输出函数,而函数文件可以带输入参数,也可返回输出参数。(2)命令文件对MATLAB工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除。(3)命令文件可以直接运行,在MATLAB命令窗口输入命令文件的名字,就会顺利执行命令文件中的命令,而函数文件不能直接运行,而要以函数调用的方式来调用它。3.2数据的输入输出input函数的调用格式为:A=input(提示信息

13、,选项);其中提示信息为一个字符串,用于提示用户输入什么样的数据。如果在input函数调用时采用s选项,则允许用户输入一个字符串。disp函数disp(输出项)其中输出项既可以为字符串,也可以为矩阵。显示矩阵时将不显示矩阵的名字,而且其格式更紧密,且不留任何没有意义的空行。pause函数当程序运行时,为了查看程序的中间结果或者观看输出的图形,有时需要暂停程序的执行。这时可以使用pause函数,其调用格式为:pause(延迟秒数)如果省略延迟时间,直接使用pause,则将暂停程序,知道用户按任一键后程序继续执行。若要强行中止程序的运行可使用Ctrl+C命令。3.3选择结构3.3.1if语句1.

14、单分支if语句if 条件语句组end2. 双分支if语句if 条件语句组1else 语句组2end3. 多分支if语句if 条件1语句组1elseif 条件2语句组2.elseif 条件m语句组melse 语句m+1End3.3.2switch语句switch 表达式case 表达式1 语句组1case 表达式2 语句组2 。case 表达式m 语句组motherwise 语句组m+1endSwitch子句后面的表达式应为一个标量或一个字符串,case子句后面的表达式不仅可以为一个标量或一个字符串,而且还可以为一个单元矩阵。如果case子句后面的表达式为一个单元矩阵。则表达式的值等于该单元矩阵

15、中的某个元素时,执行相应的语句组。3.3.3try语句一种试探性执行语句。try 语句组1catch 语句组2endtry语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋值给保留的lasterr变量,并转去执行语句组2。3.4循环语句3.4.1for语句for 循环变量=表达式1:表达式2:表达式3循环体语句endfor语句的循环变量可以是一个列向量。for语句更一般的格式为:for 循环变量=矩阵表达式循环体语句end执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。3.4.2while语句while (t条件) 循环体语句end

16、与循环结构相关的还有一个break语句,当在循环体内执行到该语句时,程序将跳出循环。一般与if语句配合使用。3.5函数文件函数文件由function语句引导,其基本结构为:Function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句Return语句,如果在函数文件中插入return语句,则执行到该语句就结束函数的执行,程序流程转至调用该函数的位置。通常,在函数文件中也可以不使用return语句,这事在被调函数执行完成后自动返回。3.5.2函数调用函数调用的一般格式是:输出实参表=函数名(输入实参表)函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数一致,否则会出错

17、。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后在执行函数的功能。3.5.3函数所传递参数的可调性两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数,从而决定函数如何进行处理。3.6全局变量和局部变量全局变量用global定义。第四章 MATLAB绘图4.1二维图形plot函数plot(x,y)(1) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲

18、线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3) plot函数最简单的调用格式是只包含一个输入参数plot(x)。在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线。当x是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于x阵的列数。当x是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。含多个输入参数的plot函数plot函数可以包含若干组向量对,每一个向量对可以绘制出一条曲线。含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,.,xn,yn)每一组向量对的长度可以不同。可以在同一坐标

19、内绘制出多条曲线。含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,.,xn,yn,选项n)线型、颜色和标记符号选项(a)线型选项线型说明颜色说明标记符号说明标记符号说明实线b蓝色.点s方块符:虚线g绿色o圆圈d菱形符.点划线r红色x叉号V朝下三角符号双划线c青色+加号朝上三角符号m品红色*星号朝右三角符号k黑色p五角星符w白色h六角星符双纵坐标函数plotyy把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:plotyy(x1,y1,x2,y2)其中x1y1对应一条曲线,x2y2对应另一条曲线。横坐标的标度相同,纵坐标有2个,左纵坐标用于

20、x1y1数据对,右纵坐标用于x2y2数据对。4.1.2绘制图形的辅助操作1. 图形标注有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2)其中title和xlabel、ylabel函数分别用于说明图形和坐标轴的名称。text函数是在(x,y)坐标处添加图形说明。添加文本说明也可用于gtext命令,执行该命令时,十字坐标光标自动跟随鼠标移动,单击鼠标即可将文本放置在十字光标处。Legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放

21、在所希望的位置。2. 坐标控制如果用户对坐标系不满意,可利用axis函数对其重新设定。该函数的调用格式为:axis(xmin,xmax,ymin,ymax,zmin,zmax)axis函数功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度axis square 产生正方形坐标系(缺省为矩形)axis auto 使用缺省设置axis off 取消坐标轴axis on 显示坐标轴一般情况下,绘图命令每执行一次就刷新当前图形窗口,图形窗口原有图形将不复存在。若希望在已存在的图形上在继续添加新的图形,可使用图形保持命令hold。hold on/off命令控制是保持原有图形还是刷新

22、原有图形,不带参数的hold命令在两种状态之间进行切换。给坐标加网格线用grid命令来控制。grid on/off命令控制室画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。给坐标加边框用box命令。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。3. 图形窗口的分割MATLAB系统提供了subplot函数,用来将当前图形窗口分割成若干个绘图区。每个区域代表一个独立的子图,也是一个独立的坐标系,可以通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于活动区域。Subplot函数的调用格式为:Subplot(m,n,

23、p)该函数将当前图形窗口分成mn个绘图区,即每行n个、共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。4.1.3绘制二维图形的其他函数1. 其他形式的线性直角坐标图条形图:bar(x,y,选项)阶梯图:stairs(x,y,选项)杆图:stem(x,y,选项)填充图:fill(x1,y1,选项1,x2,y2,选项2,)前3个函数的用法与plot函数相似,只是没有多输入变量形式。fill函数按向量元素下标渐增次序依次用直线段连接x,y对应元素定义的数据点。假若这样;连接所得折线不封闭,那么MATLAB将自动把该折线的首尾连接起来,构成封闭四边形

24、,然后将多边形内部涂满指定的颜色。2. 极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。3. 对数坐标形式MATLAB提供了绘制对数和半对数坐标轴曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,)semilogy(x1,y1,选项1,x2,y2,选项2,)loglog(x1,y1,选项1,x2,y2,选项2,)其中选项的定义与plot函数完全一致,所不同的是坐标轴的选取。Semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线

25、性刻度。semilogy函数也使用半对数坐标,y轴为常用对数刻度,而x轴仍保持线性刻度。loglog函数使用全对数坐标,x,y轴均采用常用对数刻度。函数logspace可以按对数等间距地分布来产生一个向量。调用格式为:Logspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。当n省略时,自动产生50个元素。4. 对函数自适应采样的绘图函数对绘制高频率变化的函数,为提高精度,绘制出比较真实的函数曲线,不能采用等间隔取样,而必须在变化率大的区段密集采样,以充分反应函数的实际变化规律,进而提高图形的真实度。fplot函数可自适应地对函数进行采样,能更好地反应函数的变化规

26、律。其调用格式为:fplot(fname,lims,tol,选项)其中fname为函数名,以字符串形式出现。它可以是由多个分量函数构成的行向量,分量函数可以是函数的直接字符串,也可以是内部函数名或函数文件名,但自变量都必须为x。lims为x,y的取值范围,以行向量形式出现,取二元向量xmin,xmax时,x轴的范围被认为确定,取四元向量xmin,xmax,ymin,ymax时,x,y轴的范围被认为确定。tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。5. 其他形式的图形用来表示各元素占总和的百分比的饼图:pie(行矩阵)复数的向量图:compass(复数)4.2三维图

27、形最基本的三维图形函数为plot3,其调用格式为:plot(x1,y1,z1,选项1,x2,y2,z2,选项2,.,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数。当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。4.2.2三维曲面1. 平面网格坐标矩阵的生成(1)利用矩阵运算生成,命令如下。x=a:dx:b;y=(c:dy:d);X=ones(size(y)*x;Y=y*ones(size(x);(2)利用meshgrid函数生成,命令如下。x=a:dx:b;y=c:dy

28、:d;X,Y=meshgrid(x,y);语句执行后,所得到的网格坐标矩阵X,Y与方法(1)得到的相同。当x=y时,meshgrid函数可写成meshgrid(x)。2. 绘制三维曲面的函数MATLAB提供了mesh函数和surf函数来绘制三维曲面图。mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面图时,可以通过三维网格图来表示三维曲面。surf用于绘制三维曲面图,各条线之间的补面用颜色填充。函数的调用格式为:mesh(x,y,z,c)surf(x,y,z,c)一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下得颜色范围。

29、C省略时,MATLAB认为c=z,即颜色的设定是正比于图形的高度的,这样就可以得出层次分明的三维图形。当x,y省略时,把z矩阵的列下标当做x轴坐标,行下标当做y轴坐标,然后绘制三维曲面图。当x,y是向量时,必须要求x的长度等于z矩阵的列,y的长度等于z矩阵的行,x,y向量元素的组合构成网格点的x-y坐标,z坐标则取自z矩阵,然后绘制三维曲面图。3. 标准三维曲面sphere函数用于绘制三维球面,调用格式为:x,y,z=sphere(n)该函数将产生(n+1)(n+1)矩阵x,y,z,采用这3个矩阵可以绘制出圆心位于原点、半径为1的单位球体。若在调用该甘肃时不带输出参数,则直接绘制所需球面。N决定了球面的圆滑程度,其缺省值为20.若n值取得较小,则将绘制出多面体表面图。cylinder函数绘制柱面,调用格式为:x,y,z=cylinder(R,n)其中R是一个向量,存放柱面各个层次上的半径。多峰函数peaks,常用于三维曲面的演示。4.2.3其他三维图形条形图、饼图和填充图使用的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1