MATLAB程序设计实验_第1页
MATLAB程序设计实验_第2页
MATLAB程序设计实验_第3页
MATLAB程序设计实验_第4页
MATLAB程序设计实验_第5页
已阅读5页,还剩41页未读, 继续免费阅读

下载本文档

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

文档简介

系立项建设实验指导书MATLAB程序设计与应用实验主编:王春、段守付物理与电子信息工程系

目录前言 1实验一熟悉MATLAB环境 2实验二数值数组创建、应用及可视化 6实验三字符串数组的使用、简单脚本文件和函数的编写 10实验四数据可视化方法 17实验五简单数据分析 23实验六MATLAB仿真初步 27实验七电路模型仿真应用 30实验八简单图形用户界面设计 32附录:MATLAB主要函数指令表(按字母顺序索引) 35

前言美国MathWorks公司推出的MATLAB是一种集数值计算、符号、运算、可视化建模、仿真和图形处理等多种功能于一体的优秀编程、仿真工具,被誉为“巨人肩膀上的工具”、“演算纸式的编程语言”,是从事科学研究、工程计算的广大科技工作者、理工类高校师生确认为必须掌握的计算工具,是从理论通向实际的桥梁,也是最可信赖的科技资源之一。为了配合学生上机实践,更好掌握MATLAB的基本使用技能,了解MATLAB的编程风格,以及将所学课程与MATLAB实践相结合,特别编写了本实验讲义。其主要内容包括:MATLAB入门及基本操作,数组、矩阵的使用及数据可视化方法,脚步文件及函数的编写,以及仿真、图形用户界面入门等。MATLAB内容丰富,内嵌了许多功能函数。为了方便课堂教学使用,也顾及查阅功能,在书后的索引中按照字母顺序对常见MATLAB函数进行了分类,以备读者查阅需要。本书编写由王春、段守付完成。由于编者水平有限,书中难免存在不妥之处,恳请广大读者指正。同时,我们也会在适当时间进行修订和补充。

实验一熟悉MATLAB环境[实验目的]1.熟悉MATLAB主界面,并学会简单的菜单操作。2.学会简单的矩阵输入与信号输入。3.掌握部分绘图函数。[实验原理]MATLAB是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。用户第一次使用MATLAB时,建议首先在屏幕上键入demo命令,它将启动MATLAB的演试程序,用户可在此演示程序中领略MATLAB所提供的强大的运算与绘图功能。也可以键入help进行进一步了解。MATLAB启动界面如图所示:操作界面主要的介绍如下:指令窗(CommandWindow),在该窗可键入各种送给MATLAB运作的指令、函数、表达式,并显示除图形外的所以运算结果。历史指令窗(CommandHistory),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生M文件。工作空间浏览器(WorkspaceBrowser),该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。其它还有当前目录浏览器(CurrentDirectoryBrowser)、M文件编辑/调试器(Editor/Debugger)以及帮助导航/浏览器(HelpNavigator/Browser)等,但通常不随操作界面的出现而启动。利用File菜单可方便对文件或窗口进行管理。其中File|New的各子菜单,M-file(M文件)、Figure(图形窗口)、或Model(SIMULINK编辑界面)分别可创建对应文件或模块。Edit菜单允许用户和Windows的剪切板交互信息。MATLAB语言最基本的赋值语句结构为:变量名列表=表达式。表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“=”省略,则ans变量将自动建立,例如键入:1900/81,得到输出结果:ans=23.4568。MATLAB中变量命名的原则要求必须以英文字母开头,文件夹名字中可以还包括、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行MATLAB中一些莫名的错误可能就是不规范的命名引起的。这种规则包括将来为自己编写的脚本文件、函数文件命名以及为使用的变量命名也应遵循这个规则。[实验内容]一.用户工作目录和当前目录的建立和设置1.为管理方便,每个用户在使用MATLAB前,尽量为自己建立一个专门的工作目录,即“用户目录”,用来存放自己创建应用文件。例如首先打开资源管理器,在E驱动器下可以根据自己喜好建立一个新文件夹,但应注意:该文件夹必须以英文开头,文件夹名字中可以包括字母、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行MATLAB中一些莫名的错误可能就是不规范的命名引起的,这与MATLAB中为变量和文件名命名原则是一致的。尽管MATLAB\work允许用户存放用户文件,但最好把它仅作为临时工作目录来使用。2.为了用户运行方便,在开始工作前可把用户定义的目录设置为当前目录,方法是可直接在MATLAB命令窗口桌面上方通过目录设置栏来实现。3.把自己的工作目录加到MATLAB搜索路径上,这样可以在任何情况下方便地调用自己的编写文件。MATLAB工作时,基本搜索过程为:首先在工作空间,即MATLAB内存中进行检查,看输入的指令是不是变量;如不是,则检查输入指令是不是内建函数(比如sin函数等);如不是,则在当前目录上,检查是否有与输入指令相同的M文件存在;如还没有,则在MATLAB定义的搜索路径其他目录中,检查是否有该M文件存在。设置方法是通过File菜单下设置路径对话框进行。二.熟悉简单的矩阵输1.从屏幕上输入矩阵A=[123;456;789]回车A=[1,2,3;4,5,6;7,8,9]回车观察输出结果。2.试用回车代替分号,观察输出结果。3.输入size(A),观察结果。4.输入矩阵B=[9,8,7;6,5,4;3,2,1];回车输入矩阵C=[4,5,6;7,8,9;1,2,3];回车,然后分别键入ABC回车观察结果。5.选择File|new菜单中的M-file,输入B=[9,8,7;6,5,4;3,2,1];保存为B.M文件,退出编辑环境。此时在工作环境中使用B命令就可调出B矩阵。6.再试着输入一些矩阵,矩阵中的元素可为任意数值表达式,但注意:矩阵中各行各列的元素个数需分别相等,否则会给出出错信息。7.输入who和whos观察结果,了解其作用。二.常用基本命令的使用数据文件的存取训练:利用save和load指令可以方便地把当前工作空间的数据变量保存为数据文件。接题一,输入:savea回车,表示把当前工作空间的所有变量保存为a.mat文件。输入saveaAC回车,表示把当前内存中的变量A、C保存为a.mat文件。类似的还有load命令,实现保存数据变量的装载,执行clear命令,然后运行loada回车,观察工作空间的变化。save、load、clear命令还有一些其他的应用格式,具体可参看帮助文件。三.基本序列运算1.数组的加减乘除和乘方运算2.输入A=[123],B=[456],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B,并用stem画出A,B,C,D,E,F,G。再输入一些数组,进行类似运算。3.在命令窗口用plot指令粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为0.001,可参看下面的a的实例来实现,数学函数MATLAB实现参见附录)a.实现方法,在命令窗口执行一下指令,可简单描绘出函数曲线:t=0:.001:3;y=3-exp(-t);plot(t,y)b.c.d.−2π<t<2π(π在MATLAB中用pi来实现)f.三.M脚本文件编写初步用M文件编辑器编写脚本文件重新描绘上面函数波形。实验二数值数组创建、应用及可视化[实验目的]1.掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别。2.掌握标准数组生成函数和数组构造技法。3.进一步熟悉M脚本文件编写的方法和技巧。[实验原理]数值数组和数组运算MATALB核心内容,是MATLAB最重要的一种内建数据类型。通常,数组是由一组实数或复数排成的长方阵列(Array),它可以是一维的“行”或“列”,可以是二维的“矩形”,也可是三维的若同维矩形的堆叠,甚至是更高的任意维。而数组运算是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地时实施同样的操作。这使得计算程序简单、易读,使程序指令更接近教科书上的数学计算公式,并提高了程序的向量化程度,提高计算效率,节省计算机开销。一维数组的创建可采用逐个元素输入法,这是最简单,但又最通用的构造方法,如:x=[2pi/2sqrt(3)3+5i];另外有规律的产生数组可以采用冒号生成法,通用格式是x=a:inc:b,a是数组的第一个元素,inc是采样点之间的步长。若(b-a)是inc的整数倍,则生成数组的最后一个元素是b,否则小于b。或者采用定数线性采样法,该法是在设定“总点数”下,均匀采样生成一维“行”数组。格式为x=linspace(a,b,n),a、b分别是生成数组的第一个各最后一个元素,n是采样总点数,该指令生成(1×n)数组。二维数组是由实数或复数排列成矩形而构成的。从数据结构上看,矩形和二维数组没有什么区别。当二维数组带有线性变换含义时,该二维数组就是矩阵。二维数组的创建也可采用直接输入法,或者利用构造M文件创建和保存数组。除此以外,还可以采用MATLAB提供的标准函数生成我们需要的数组,诸如zeros、ones、rand、eye、diag、magic等,详请见附录。一维数组元素的寻访和标识采用X(index)方法,只是要注意MATLAB中第一个元素下标index是1,而不是C语言中的0。二维数组元素的标识和寻访可分为“全下标”标识和“单下标”标识,“全下标”标识,即指出是“第几行,第几列”的元素,如A(3,5)表示二维数组A的第三行第五列元素。该标识法的优点是几何概念清楚,引述简单,在MATLAB的寻址和赋值中最为常用。“单下标”标识,顾名思义就是只用一个下标来指明元素在数组中的位置,首先对二维数组的所有元素进行“一维编号”。“一维编号”是指:先设想把二维数组的所有列,按先左后右的次序、首尾相接排成“一维长列”,然后自上往下对元素未知进行编号,其优点是简洁、方便,特别是如果碰到对二维数组进行诸如for循环操作时可以减少循环次数,提高编程效率。“全下标”标识和“单下标”标识可以通过sub2ind和ind2sub指令进行转换,详见帮助。另外,不论二维数组还是一维数组还可以采用“逻辑1”标识,这种方法常用于寻找数组中所有大于或小于某值的元素的问题中。比如X(abs(X)>3)可以找出数组X中所有绝对值大于3的元素。另外还可以借助ones,zeros,rand,randn和cat,repmat,reshape等函数直接或间接构作高维数组,详见附录或MATLAB帮助。Matlab中的许多函数可以直接对任意维的数组直接运算,相当于对数组中的每个元素分别进行运算。比如Y=sin(X)可以直接得到与数组X中每一个元素相对应的的正弦值,这大大简化了编程。可以执行数组运算的常用函数已经列表于附录中,以供参考。但值得注意的是,虽然从外观形状和数据结构上看,二维数组和(数学中的)矩阵)没有区别,但矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。为了区别数组和矩阵运算,在易混淆的地方,数组运算在运算符前加一小黑点“.”以示区别,比如Y=A.*B,代表的示数组A和数组B对应元素相乘,而Y=A*B,则表示内维相同的矩阵A和B的乘积。由此也可看出,在执行数组与数组的运算时,参与运算的数组必须同维,运算所得结果也总与原数组同维。本节只涉及数组可视化方法的简单实现。通常,对于离散数据可采用stem命令或者使用plot绘点的方法,而对于连续函数可直接采用plot指令来实现。[实验内容]一.数组的创建和寻访1.一维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释,不用输入。rand('state',0)%把均匀分布伪随机发生器置为0状态x=rand(1,5)%产生(1×5)的均布随机数组x(3)%寻访数组x的第三个元素。x([125])%寻访数组x的第一、二、五个元素组成的子数组。x(1:3)%寻访前三个元素组成的子数组x(3:end)%寻访除前2个元素外的全部其他元素。end是最后一个元素的下标。x(3:-1:1)%由前三个元素倒排构成的子数组x(find(x>0.5))%由大于0.5的元素构成的子数组x([12344321])%对元素可以重复寻访,使所得数组长度允许大于原数组。x(3)=0%把上例中的第三个元素重新赋值为0x([14])=[11]%把当前x数组的第一、四个元素都赋值为1x[3]=[];%空数组的赋值操作2.二维数组(1)在命令窗口执行下面指令,观察输出结果a=2.7358;b=33/79;%这两条指令分别给变量a,b赋值。C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]%这指令用于创建二维数%组CM_r=[1,2,3;4,5,6],M_i=[11,12,13;14,15,16]%创建复数数组的另一种方法CN=M_r+i*M_i%由实部、虚部数组构成复数数组(2)利用M文件创建和保存下面的数组(分号后面是一个空格后加3个小数点,表示换行续写)AM=[101,102,103,104,105,106,107,108,109;...201,202,203,204,205,206,207,208,209;...301,302,303,304,305,306,307,308,309];(3)仿照问题1中方法找出数组A中所有绝对值大于3的元素。(4)在命令窗口执行下面指令,体会二维数组的子数组寻访和赋值A=zeros(2,4)%创建(2×4)的全零数组A(:)=1:8%全元素赋值方式s=[235];%产生单下标数组行数组A(s)%由“单下标行数组”寻访产生A元素组成的行数组Sa=[102030]’%Sa是长度为3的“列数组”A(s)=Sa%单下标方式赋值A(:,[23])=ones(2)%双下标赋值方式:把A的第2、3列元素全赋为1(5)运行指令rand(‘state’,11),A=rand(3,10000);B=(A>0.5);C=2*B-1;首先预测(C*C’)/100的运行结果,然后再在机器上验证。(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。)(6)在命令窗口执行下面指令,体味数组运算与矩阵运算的区别clear;A=zeros(2,3);A(:)=1:6;%全元素赋值法A=A*(1+i)%运用标量与数组乘产生复数矩阵A_A=A.'%数组转置,即非共轭转置,其中单引号实现转置功能A_M=A'%矩阵转置,即共轭转置二.编写如图所示波形的MATLAB脚本文件,图中虚线为正弦波,要求它分别在及处削顶。图1可能用到的额外指令:find、holdon、holdoff、legend,具体使用方法使用help+指令名来解答。

实验三字符串数组的使用、简单脚本文件和函数的编写[实验目的]1.掌握字符串数组的创建和构造方法及常用字符串函数的使用。2.熟练掌握MATLAB控制流的使用方法。3.熟悉M脚本文件、函数文件的编写方法和技巧。[实验原理]与数值数组相比,串数组在MATLAB中的重要性较小,但不可缺少。如果没有串数组及相应的操作,那么数据可视化、图形用户界面的制作将会遇到困难。字符串与数值数组是两种不同的数据类,它们的创建方式也不同。字符串的创建方式是:将待建的字符放在“单引号对”中。注意,“单引号对”必须是在英文状态下输入,其作用是MATLAB识别送来内容“身份”所必需的,如A=’Thisisanexample!’;就创建了一个字符串A。注意创建带单引号的字符串时,每个单引号符用“连续2个单引号符”标识。字符串的标识同数值数组同,而且也可以使用size指令观察串数组的大小。串数组的ASCII码可以通过指令abs和double来获取,而用char指令可以把ASCII码变为串数组,另外,MATLAB可以很好的支持中文字符串数组。对于复杂串数组的创建,一是可以直接创建,但是要保证同一串数组的各行字符数相等,即保证各行等长,不推荐,太繁琐。二是可以利用串操作函数创建多行数组,比如char,str2mat,strvcat等,具体操作自己通过帮助体会。另外还可以通过转化函数产生数码字符长,比如A_str=int2str(A)就是把整数数组A转换成串数组,如果是非整数将被四舍五入后再转换,类似的函数还有num2str(把非整数数组转换为串数组,常用于图形中数据点的标识)、mat2str(把数值数组转换成输入形态的串数组,常与eval指令配用)。假如想灵活运用MATLAB去解决实际问题,想充分调动MATLAB——科学技术资源,想理解MATLAB版本升级所依仗的基础,那么掌握M脚本文件合函数的编写规则将十分有用。用户通过本次实验,感受抽象概念的内涵、各指令间的协调,从感知上领悟MATLAB编程的优越和要领。编写M脚本文件的步骤:点击MATLAB指令窗工具条上的NewFile图标,就可打开如上图所示的MATLAB文件编辑调试器MATLABEditor/Debugger。其窗口名为untitled,用户即可在空白窗口中编写程序。点击编辑调试器工具条图标,在弹出的Windows标准风格的“保存为”对话框中,选择保存文件夹,键入新编文件名(如newfile.m),点动【保存】键,就完成了文件保存。运行可有两种方法,一种是直接点击编辑调试工具条图标,即可直接运行;或者使newfile.m所在目录成为当前目录,或让该目录处在MATLAB的搜索路径上,然后在命令窗口键入指令newfile+回车,便可得到运行结果。调试程序方法有多种,常见的是设置断点的方法,将光标移到程序欲执行到的位置,点击编辑调试工具条图标,保存后运行,程序将停止在该语句位置并弹出编辑器界面等待用户下一步运行的指令,只有再次点击按钮,才继续向下执行。相应的按下按钮,表示清除所有断点。如果不设置断点,也可以在程序中加入pause指令,使得程序在此处暂停,只有用户按任意键程序才依次向下执行。则在pause指令的前面位置我们可以通过交互的方式得到我们想要的信息,以检测程序的正确性。编写MATLAB脚本文件或函数文件时要区分开与C语言格式的不同。MATALB使用变量前不需要声明数据类型,对于所有的数值型数据MATLAB均以Double型存储。另外编程时尽量使用MATLAB向量(数组)编程方式,可大大提高编程效率,尽量避免过多使用for循环等语句。MATLAB提供了五种控制流的结构:for循环结构,while循环结构,if-else-end分支结构,以及switch-case结果、try-catch结构。这些控制指令用法与其他语言十分类似,这里只给出简要说明。For循环:while循环结构forx=array(commands)endforx=array(commands)endwhileexpression(commands)endif-else-end结构单分支(常用)双分支(常用)多分支(常被swith-case取代)ifexpression(commands1)else(commands1)endifexpressionifexpression(commands1)else(commands1)endifexpression(commands)endifexpression1(commands1)elseifexpression2(commands2)⋯⋯else(commandsk)endend上面几条控制语句中,for循环结构中x称为循环变量,组命令(commands)被称为循环体,循环体被重复执行的次数是确定的,该次数由for指令后面的数组array的列数决定。换言之,循环变量依次取数组的各列,对于每个变量值,循环体被执行一次。while循环是首先检测expression的值,如其值为逻辑真(非0),则执行组命令,当组命令执行完毕,继续检测表达式的值,仍为真,循环执行组命令,一旦表达式值为假,就结束循环。一般情况下,表达式的值是标量值,但MATLAB允许其为一个数组,此时只有该数组所有元素均为真时,MATLAB才会执行循环体。若表达式为空数组,则不执行循环体。if指令判决和break指令的配合使用,可以强制中止for循环或while循环。switch-case结构try-catch结构switchexcasetest1(commands1)casetest2switchexcasetest1(commands1)casetest2…casetestk(commandsk)otherwise(commands)tryex(commands1)catch(commands2)endswitch指令后面的表达式应为一个标量或者为一个字符串。对于标量形式的表达式,比较这样进行:表达式==检测值i。对于字符串,MATLAB将调用函数strcmp来实现比较:strcmp(表达式,检测值i).try-catch结构,只有当MATLAB在执行组命令1时出现错误后,组命令2才会被执行。当执行组命令2时又出错,MATLAB将中止该结构。随指令数的增加或随控制流复杂度的增加,以及重复计算要求的提出,采用M脚本文件进行编程较为适宜。这种脚本文件的构成比较简单,它是一串按照用户意图排列而成的MATLAB指令集合。脚本文件运行后,所产生的所有变量都驻留在MATLAB基本工作空间中,只要用户不使用clear指令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存在基本工作空间中。与脚本文件不同的,函数文件犹如一个“黑箱”。从外界只能看到传给它的输入量和送出的计算结果,而内部运作是藏而不见的,特点是:从形式上看,与脚本文件不同,函数文件的第一行总是以“function”引导的“函数声明行”。该行还罗列出函数与外界的联系的全部“标称”输入输出宗量。但对“输入输出宗量”的标称数目并没有限制,即可以完全没有输入输出宗量,也可以是任意数目。形如unctionsa=circle(r,s)。这里r、s称为输入宗量,sa称为输出宗量,函数名为circle,同时注意保存的函数文件名应与这里的函数名一致,即存为circle.m文件。MATLAB允许使用比“标称”数目较少的输入输出宗量实现对函数的调用,但前提是函数中应该有相应的处理程序。从运行上看,与脚本文件不同,每当函数文件运行时,MATLAB就会专门为它开辟一个临时的工作空间,称之为函数工作空间。所有中间变量都存放在函数工作空间中。当执行完文件最后一条指令或遇到return时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。假如在函数文件中,发生对某脚本文件的调用,那么该脚本文件运行产生的所有变量都存放在该函数空间中,而不是存放在基本空间。[实验内容]一.串数组的创建和寻访1.先请实际操作下例,以体会数值量与字符串的区别clear%清除所有内存变量a=12345.6789%给变量a赋数值标量class(a)%对变量a的类别进行判断a_s=size(a)%数值数组a的“大小”b='S'%给变量b赋字符标量(即单个字符)class(b)%对变量b的类别进行判断b_s=size(b)%符号数组b的“大小whos%观察变量a,b在内存中所占字节2.已知串数组a=”Thisisanexample.”,试将其到序输出。3.接上题,试执行ascii_a=double(a),观察其ASCII码,并将ASCII码变回字符串。4.设A=”这是一个算例”,重复上面的2-3。5.尝试用直接输入法在命令窗口创建字符串s,第一行时“Thisstringarray”,第二行是“hasmultiplerows.”。6.利用串操作函数char、str2mat、strvcat分别写出使以下这段文字成为字符串的程序,注意保持这段文字的格式。在英式用法中,引号通常是单引号,如‘Fire!’。InGBusagequotationmarksareusuallysingle:’Fire!’.二.脚本文件实现,0≤t≤3π,并在图上标出图名和极大值点坐标。如下图所示。可能用到的函数:num2str,char,text,holdon,具体应用自己查找help文档。三.编程实现分别用for或while循环语句计算:的程序,并给出运行结果。此外,实现一种避免使用循环的的计算程序。四.函数文件1.详读并运行下面的circle.m函数文件。体会M函数文件的编写结构及方法。%后面的内容称为注释行,不被执行,起注释说明作用。functionsa=circle(r,s)%首行是函数声明行,以functionfunctionsa=circle(r,s)%首行是函数声明行,以function开头%CIRCLE以制定颜色画半径为r的圆面%r指定半径的数值%s指定线色的字符串%sa圆面积%%circle(r)利用蓝实线画半径为r的圆周线.%circle(r,s)利用串s指定的线色画半径为r的圆周线.%sa=circle(r)计算圆面积,并画半径为r的蓝色圆面.%sa=circle(r,s)计算圆面积,并画半径为r的s色圆面.%编写于1999年4月ifnargin>2%nargin表示输入宗量的变量个数,是系统保留变量error('输入宗量太多。');%error把引号的内容在命令窗口前加问号输出endifnargin==1s='b';endclf%清图形窗口t=0:pi/100:2*pi;x=r*exp(i*t);ifnargout==0%nargin表示输出宗量的变量个数,是系统保留变量plot(x,s);elsesa=pi*r*r;fill(real(x),imag(x),s)%fill指令是填充颜色指令,具体看帮助endaxis('square')%使得输出图形坐标为正方形量,则自动输出“用户,你忘记给定输入变量了!”;当输入大于1的整数时,则输出“你是一个合法用户!”;当输入的是一个非正整数时,函数文件会给出一个错误提示“你是非法用户!”【提示:可能用到disp,error等指令,使用方法自己查询帮助】

实验四数据可视化方法[实验目的]1.掌握曲线绘制的基本技法和指令,会使用线形、色彩、数据点标记表现不同数据的特征,掌握生成和运用标识注释图形。2.进一步掌握函数编写及数据可视化方法。[实验原理]MATLAB提供了相当强大的可视化指令,通过这些指令,我们可以非常简单地实现数据的可视化。首先我们来看离散数据和离散函数的可视化方法。对于离散实函数yn=f(xn),当xn以递增(或递减)次序取值时,根据函数关系可以求得同样数目的yn,当把这两组向量用直角坐标中的点次序图示时,就实现了离散函数的可视化。当然这种图形上的离散序列所反映的只是某确定的有限区间内的函数关系,不能表现无限区间上的函数关系。通常我们可以采用plot或者stem来实现。只是需要注意的是使用plot时,需要使用星号或者点等标识来表示数据点,比如plot(xn,yn,’r*’,’MarkerSize’,20),就表示用字号20的红色星点来标识数据点,此时为了便于观察,通常随后加上一条语句“gridon”,即给图形加上坐标方格。而采用stem标识数据点的格式是stem(xn,yn)。连续函数的可视化与离散函数可视化类似,也必须先在一组离散自变量上计算相应的函数值,并把这一组“数据点”用点图示。但这些离散的点不能表现函数的连续性。为了进一步表示离散点之间的函数函数情况,MATLAB有两种常用处理方法:一是对区间进行更细的分割,计算更多的点,去近似表现函数的连续变化;或者把两点用直线连接,近似表现两点间的(一般为非线性的)函数形状。但要注意,倘若自变量的采样点不足够多,则无论哪种方法都不能真实地反映原函数。对于二维数据,常用指令仍旧是plot。对于离散数据,plot指令默认处理方法是:自动地把这些离散数据用直线(即采用线性插值)连接,使之成为连续曲线。对于三维图形的表示,通常有plot3等指令。通常,绘制二维或三维图形的一般步骤如下表所示:步骤典型指令1曲线数据准备先取一个参变量采用向量然后计算各坐标数据向量t=0:.001:3*pi;%参变量采用向量t=linspace(0,3*pi,1000)%参变量采用向量另种方式%y=f(t);%计算相应的函数值2选定图形窗及子图位置缺省时,打开FigureNo.1,或当前窗,当前子图可用指令指定图形窗号和子图号figure(1)%指定1号图形窗Subplot(2,2,3)%指定3号子图3调用二维或三维绘图指令指定好线形、色彩、数据点形plot(t,y,’r:’)%用红虚点画二维线,画三维可用%plot3指令,此处略4设置轴的范围、坐标分格线axis([x1,x2,y1,y2])%平面坐标范围gridon%坐标分格线5图形注释:图名、坐标名、图例、文字说明等title(‘调制图形’)%图名xlabel(‘t’);ylabel(‘y’)%轴名legend(‘sin(t)’,’sin(t)sin(9t)’)%图例text(2,0.5,’y=sin(t)sin(9t)’)%文字说明6着色、明暗、灯光、材质处理等(仅对三维图形使用)colormap,shading,light,material7视点、三度(横、纵、高)比(仅对三维图形使用)view,aspect8图形的精确修饰(图柄操作)利用对象属性值设置利用图形窗工具条进行get,set9打印图形窗上的直接打印选项或按键利用图形后处理软件打印%采用图形窗选项或按键打印最简捷print–dsp2%专业质量打印指令说明:步骤1、3是最基本的绘图步骤,一般来说,由这两步所画出的图形已经具备足够的表现力。至于其他步骤,并不完全必需。用户可根据自己需要改变上面绘图步骤,并不必严格按照执行。步骤2一般在图形较多情况下使用,此时需要指定图形窗、指定子图。步骤8涉及图柄操作,需要对图形对象进行属性设置,较为复杂。MATLAB提供了交互式图形编辑功能,可方便地对图形精细修饰。plot等绘图指令的典型调用格式为:plot(t,y,’s’)。其中s是用来指定线型、色彩、数据点形的选项字符串。S的合法取值如下所示,格式形如’r+’。如果缺省,此时线型、色彩、数据点形将由MATLAB默认设置确定。plot进一步的使用可参看帮助文档。s可用来指定的线形分别有:“-”实线,“:”虚线,“-.”点划线,“--”双划线。s可用来指定的色彩分别有:b-蓝,g-绿,r-红,c-青,y-黄,w-白,k-黑。s可用来指定的数据点形有:“.”实心黑点,“+”十字符,“^”朝上三角符,“v”朝下三角符,“d”菱形符,“p”五角星符等。常用的坐标控制指令axis使用是最多的,比如axis([x1,x2,y1,y2])可人工设定坐标范围,axisoff可取消轴背景,axisequal横纵轴采用等长刻度等。其他使用见帮助。需要特别指出的是,当遇到在已经存在的图上再绘制一条或多条曲线,可使用holdon指令,可保持当前轴及图形保持不被刷新,并准备接收此后绘制的新曲线,holdoff则取消此功能。对于想画多个独立的图形,则会用到figure(n)指令,这里n为整数,可顺序从1向后排。如果想在特定图形中布置几幅独立的子图,则会用到subplot(m,n,k),即在(m×n)幅子图中的第k幅成为当前图;subplot(‘position’,[leftbottonwidthheight]),表示在指定位置上开辟子图,并成为当前图。使用clf指令可清除图形窗的内容。另外MATLAB还提供了ginput、gtext、legend等交换指令。[x,y]=ginput(n),可用鼠标从二维图形上获取n个点的数据坐标(x,y),该指令只适用于二维图形,在数值优化、工程设计中十分有用。通常在使用前先对图进行局部放大处理。[实验内容]一.仿照运行,体会数据可视化方法。1.已知n=0,1,⋯⋯,12,y=|(n-6)|-1,运行下面程序,体会离散数据可视化方法。%用stem%用stem实现离散数据可视化n=0:12;y=1./abs(n-6);stem(n,y)%用plot实现离散数据可视化n=0:12;%产生一组自变量数据y=1./abs(n-6);%计算相应点的函数值plot(n,y,'r*','MarkerSize',20)%用红花标出数据点gridon%画坐标方格说明:plot和stem指令均可以实现离散数据的可视化,但通常plot更常用于连续函数中特殊点的标记;而stem广泛运行与数字信号处理中离散点的图示。用户在运行上面例程时会发现在命令窗口出现警告:Warning:Dividebyzero!即警告程序中出现非零数除以0的指令。MATLAB对于这种情况并不中止程序,只是给该项赋值为inf以做标记。2.下面时用图形表示连续调制波形y=sin(t)sin(9t),仿照运行,分析表现形式不同的原因。clearcleart1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图(1)')subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图(2)')subplot(2,2,3),plot(t1,y1,t1,y1,'r.')axis([0,pi,-1,1]),title('子图(3)')subplot(2,2,4),plot(t2,y2)axis([0,pi,-1,1]),title('子图(4)')二.编程实现。1.用图形表示连续调制波形y=sin(t)sin(9t),过零点及其包络线,如下图所示。2.励条件下二阶系统归一化响应可表现为,其中ξ为阻尼系数,,。请用不同的颜色或线型,在同一张图上,绘制ξ=0.2:0.2:2.0取值下系统在t∈[0,18]区间内的响应曲线,并要求用ξ=0.2和ξ=2.0对它们相应的两条曲线进行醒目的文字标志。3.编写函数[x,n]=stepseq(n0,n1,n2),实现:n为整数并编写脚本文件实现:x(n)=n⋅[u(n)−u(n−10)]+10e-0.3(n-10)[u(n−10)−u(n−20)],0≤n≤20要求在脚本文件中调用stepseq函数,最后绘出序列x(n)在给定区间的波形图。4.编写一个函数文件[y,n]=sigadd(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1是长度为n1的序列,x2是长度为n2的序列,n1、n2分别是x1、x2的位置信息(n1、n2均为整数),如:n1={-3,-2,-1,0,1,2,3,4},对应的x1={2,3,1,4,1,3,1,2};n2={-4,-3,-2,-1,0,1,2},对应的x2={1,3,2,5,1,3,4}。当调用函数[y,n]=sigadd(x1,n1,x2,n2)时,我们应该得到:n={-4,-3,-2,-1,0,1,2,3,4},对应的y={1,5,5,6,5,4,7,1,2}。仔细观察sigadd函数的功能。编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。

实验五简单数据分析[实验目的]1.初步掌握利用MATLAB实现数据的拟合、插值、简单数据分析等。[实验原理]数值计算能力是MATLAB称雄世界的根本柱石。MATLAB内建了很多函数可以求解线性方程、特征值问题以及有关多项式和卷积、数据分析、泛函、信号处理、系统分析等方面的指令。结合目前的学习进度,本课程内只简单讨论数据的拟合、插值、简单数据分析及在实验中讨论函数的零极点求法等内容,对其他内容有兴趣的可参看参考书籍。MATLAB提供了拟合和插值的相关函数。曲线拟合是研究如何寻找“平滑”曲线最好地表现带噪声的“测量数据”点。而插值是在认定所给“基准数据”完全正确的情况下,研究如何“平滑”地估算出“基准数据”之间其他点的函数值。因此插值所得曲线一定穿过“基准数据”。而拟合曲线就不一定了。另外,拟合多项式只能在给定数据所限定的区间内使用,不要任意向往拓展。而每当基准数据之间其他点上函数值没法获得,或获得的代价很好时,插值就发挥作用。插值指令很多,有interp1,interp2,interp3等。采用的插值算法也很多,如线形插值、三次多项式插值算法、样条插值等。对于多项式拟合有polyfit、poly2str、polyval等函数,具体请参看帮助和范例。MATLAB内建了很多数据分析函数,比如常用的随机数发生器函数rand,randn;统计分析指令有:min-求最小值,max-求最大值,mediam-求中值,mean-求平均值,std-求标准差,sort-排序指令等。;差分和累计函数diff、prod、sum等。另外MATLAB还提供了很多泛函指令、信号处理专业工具包、系统分析中的控制工具包以及诸如微分、求导等符号运算功能等等,有需要的可参看帮助及相关书籍。[实验内容] 一.数据拟合及插值1.下面是对给定数据点(x0,y0)进行多项式三阶拟合的例子,仿照运行,掌握数据拟合的一般方法。%%首先给定数据对x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];%求拟合多项式系数n=3;%拟合多项式的阶数,本例为3阶多项式拟合P=polyfit(x0,y0,n)%根据给定的数据对和拟合阶数求拟合多项式系数Px=poly2str(P,’x’)%生成拟合多项式(字符形式)%根据实际情况求相应的拟合函数值xx=0:0.01:1;%给定新的拟合自变量的范围yy=polyval(P,xx);%根据求得的拟合多项式系数和新的自变量范围求取相应的拟合函数值%图示拟合结果,并标出原始数据点,以做比较plot(xx,yy,’-b’,x0,y0,’.r’,’MarkerSize’,20),xlabel(‘x’)说明:拟合多项式只能在给定数据所限定的范围内使用,不要任意向外拓展;上面程序中求得的P为多项式系数,且降幂排列,比如P=56.6915-87.117440.0070–0.9034则代表用来拟合的多项式为:y=56.6915x3-87.1174x2+40.0070x–0.90342.仿照题1,编程绘出对题1中数据点(x0,y0)的四阶多项式拟合曲线。3.下面是对题1给定的数据对(x0,y0)采用三次多项式进行一维插值,模拟运行,并根据结果说出插值与拟合的区别。%%首先给定数据对x0=0:0.1:1;y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22];%采用三次多项式进行插值xi=0:0.02:1;%待进行插值的数据点yi=interp1(x0,y0,xi,’cubic’)%根据原始数据对,采用三次多项式(表现为使用参数%’cubic’实现)进行一维插值%图示插值结果,并标出原始数据点,以做比较plot(xi,yi,’-b’,x0,y0,’.r’,’MarkerSize’,20),xlabel(‘x’)说明:插值指令很多,本例interp1为一维插值,还有interp2、interp3等二维、三维插值指令,其指令参数指明了所采用的插值算法,比如’cubic’表示采用三次多项式,其他的插值方法还有很多,比如还有线性插值、样条插值等,具体操作自己通过借助帮助来实现。4.仿照题3,编程绘出对题1中数据点(x0,y0)的线性插值函数。5.下列数据为一段时间的日气温平均实际数值,求该数据的三次多项式拟合方程,并绘出实际曲线及最终的拟合曲线。设这组气温数据为:[181917182022222321212022232322]二.简单数据分析设定randn的状态为0[即通过randn(‘state’,0)来实现],产生1000×4的随机数组A,试编程求其各列的最大值、最小值、中值、平均值、标准差,并进一步求数组A的最大值、最小值、中值、平均值、标准差。

实验六MATLAB仿真初步[实验目的]1.初步熟悉MATLAB仿真环境。2.掌握物理模型的建立、仿真方法[实验原理]SIMULINK交互式仿真集成环境是MATLAB最重要的组件之一,它提供了一个动态系统建模、仿真和综合分析的集成环境。它适用面广,可以处理的系统包括:线性、非线性系统,离散、连续及混合系统,单任务、多任务离散事件系统。在SIMULINK提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。从分析研究角度讲,这种SIMULINK模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。在SIMULINK环境中,用户将摆脱理论演绎时需做理想化假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱和、死区等非线性因素和各种随机因素对系统行为的影响。在SIMULINK环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。由于SIMULINK环境使用户摆脱了深奥数学推演的压力和烦琐编程的困扰,因此用户在此环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新的真谛。在MATLAB的命令窗运行指令simulink便可打开SIMULINK模块库浏览器(SimulinkLibraryBrowser),点击Source子库,即可看到各种信源模块,包括信号发生器(SignalGenerator)、正弦波信源模块(SineWave)、阶跃波信源模块(Step)等等。我们可以点击SIMULINK模块库浏览器上的新建(New)按钮,建立一个名为untitled的空白模型窗口。用鼠标点中所需的信源模块(如正弦波信源模块SineWave),直接拉至untitled窗,类似地,也可将信宿库Sinks中的示波器Scope拉至到模型窗,用鼠标连接好两个模块连线,就建立了一个简单的模型。诸如此类,我们可以利用其丰富的资源,建立各种仿真模型。其详细使用请参考相关书籍。[实验内容]一.下面是采用SIMULINK中的积分仿真模块求解从实际自然界(力学、电学、生态等)或社会中,抽象出初始状态为0的二阶微分方程的实例,u(t)是单位阶跃函数。请模拟搭建,并仿真运行。【SIMULINK对于今后《信号与系统》、《数字信号处理》以及电子、信号处理、通讯等相关专业的深入学习具有重要意义,具体使用方法还请参看MATLAB有关SIMULINK的相关专业书籍。】步骤如下:(1)改写微分方程把原方程改写为(2)利用SIMULINK库中的标准模块构作模型如下图所示利用积分模块构造微分方程求解模型的核心思想是:经积分作用得到,再经积分模块作用就得x。上图中的Int1、Int2为积分模块,积分仿真模块形如。Gs、G1和G2为增益模块,形如,k为增益参数,通过双击增益模块,设置其中Gain值实现。G1和G2方向旋转可借助菜单【Format:RotateBlock】选项实现。u(t)称谓输入模块,此处为单位阶跃函数,其仿真模块为。称为求和模块,其设置方法是双击原始求和模块,图标形状Iconshape选择rectangular,使模块成矩形;符号列表Listofsigns设置为+――。Scope称为示波器,形如。以上模块大多位于SIMULINK模块组的Continuous、Math以及Nonlinear模块库中,Scope位于Sink模块库。用户可自己在SIMULINK模块库中自行查找,借此了解MATLAB中SIMULINK的丰富资源。(3)设置仿真选项。选中菜单【Simulation:Parameters】,打开仿真参数设置窗;在Solver页中,把仿真的停止时间Stoptime设置为20。(4)仿真操作。双击示波器图标,打开示波窗。选择模型窗中的菜单【Simulation:Start】,就可在示波窗中看到位移x的曲线。进一步,如果仿真的同时想把送入示波器的数据同时保存下来,还可以在上面的仿真模型中加入ToWorkspace模块,再配合Clock模块和Mux模块便可实现。用户可自行练习。二.仿照上例,求非线性系统的相平面轨迹、平衡点,并进行稳定性分析。

实验七电路模型仿真应用[实验目的]1.掌握采用M文件及SIMULINK对电路进行仿真的方法。2.熟悉POWERSYSTEMBLOCKSET模块集的调用、设置方法。3.进一步熟悉M脚本文件编写的方法和技巧。[实验原理]在电路的学习和研究过程中,计算机仿真工具虽不能代替学习及研究电路使用的传统方法,但是计算机仿真工具对人们更直观、高效地理解电路有很大帮助。它们可以形象地展示电路性能、证明计算方法、减少复杂电路的计算量、使用参数变量实现理想的解决方法等。计算机仿真工具的重要作用在电子电路的设计过程中是无法估量的。MATLAB作为功能强大的仿真工具,也具备了对电路进行仿真的能力。利用MATLAB编写M文件和利用SIMULINK搭建仿真模块均可以实现对电路的仿真。通过M文件实现电路仿真的一般仿真步骤为:分析仿真对象;确定仿真思路;建立仿真模型;根据模型编写出仿真程序;运行后得到仿真结果。采用SIMULINK仿真模型进行电路仿真时,可以根据电路图利用SIMULINK中已有的电子元件模型直接搭建仿真模块,仿真运行得到结果。通过SIMULINK仿真模型实现仿真为仿真者带来不少便利,它免除了仿真者在使用M文件实现电路仿真时需要进行理论分析的繁重负担,能更快更直接地得到所需的最后仿真结果。但当需要对仿真模型进行一定理论分析时,MATLAB的M语言编程就有了更大用武之地。它可以更令灵活地反映仿真者研究电路的思路,可更加灵活地将自身想法在仿真环境中加以验证,促进理论分析的发展。因此,可根据自己的实际需要,进行相应的选择:采用SINMULIN模块搭建电路模型实现仿真非常直观高效,对迫切需要得到仿真结果的用户非常适用;当用户需要深刻理解及深入研究理论的用户来说,则选择编写M文件的方式进行仿真。注意:本节实验的电路SINMULINK仿真与实验六的仿真原理不同,本节实验主要是应用提供的电路仿真元件搭建仿真模型,类似于传统仿真软件PSPICE的电路仿真方法。采用SIMULINK进行电路仿真时元器件模型主要位于仿真模型窗口中SimPowerSystems节点下。其中本次实验可能用到的模块如下:“DCVoltageSource”模块:位于SimPowerSystems节点下的“ElectricalSources”模块库中,代表一个理想的直流电压源;“SeriesRLCBranch”模块:位于SimPowerSystems节点下的“Elements”模块库内,代表一条串联RLC支路。通过对其参数的设置,可以将其变为代表单独的或电阻、或电容、或电感的支路。如设定:电阻值Resistance=5,电感值Inductance=0,电容值Capacitance=inf,则表示一个电阻值为5欧姆的纯电阻元件。“ParallelRLCBranch”模块:位于SimPowerSystems节点下的“Elements”模块库内,代表一条并联RLC支路。通过对其参数的设置,可以将其变为或电阻、或电容、或电感并联的支路。“CurrentMeasurement”模块:位于SimPowerSystems节点下下的“Measurements”模块库内,用于测量所在支路的电流值。“VoltageMeasurement”模块:位于SimPowerSystems节点下下的“Measurements”模块库内,用于测量电压值。“Display”模块:位于Simulink节点下的“Sinks”模块库内,用于输出所测信号的值的显示结果。[实验内容]一.如图所示电路,R=5Ω、Ra=25Ω、Rb=100Ω、Rc=125Ω、Rd=40Ω、Re=37.5Ω,采用编写M文件的方法求图中流过电阻R的电流。二.采用SINMULINK搭建题一中图1的仿真模型,进行仿真,求流过电阻R的电流。

实验八简单图形用户界面设计[实验目的]1.掌握简单的用户界面设计方法。2.进一步熟悉函数文件的编写技巧[实验原理]图形用户界面(GUI)以其友好和直观性在软件编程上被广泛使用。WINDOWS操作系统就是一个经典的图形用户界面操作系统。图形用户界面是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如简单的实现计算、绘图等。MATLAB以它强大的科学计算及图像生成功能著称,同时它也提供了图形用户界面的设计和开发功能。即通过MATLAB的图形用户界面,使得MATLAB的科学计算功能不仅仅是通过输入一个个的函数代码来实现,还可以通过单击按钮和对话框等直观的图像来表达。通常如果只是进行简单的数据处理、解方程等计算结果比较单一的工作,一般不用考虑GUI的制作。但是如果工作较为繁琐,重复率较高,或者是向别人提供应用程序,想进行某种技术、方法的演示,制作图像用户界面将是一个较好的选择。MATLAB的图形用户界面GUI的制作,即可通过M脚本文件直接编写,也可通过MATLAB提供的用户图形界面开发工具GUIDE来实现。通常我们选择后者,可以开发出界面布局合理、结构较为复杂、功能较多的用户界面。在MATLAB命令窗口输入guide,确认后就可以进入到GUI的开发环境下,如下图所示:图8.1GUI开发环境可以看到,MATLAB的GUI开发环境和VC、VB等程序语言的开发环境非常类似。设计用户交互界面的过程就是把我们需要用到的控件从GUI开发环境左侧的控件调色板拖到中间的空间布局编辑区,并使用队列工具把这些控件排列整齐合理的过程。当控件布局好后,可根据需要对每个控件通过各自的对象属性查看器设置其相应的属性,如显示在控件上的文本串、控件的标识符、回调的例程等,最后再根据要求编写相应的例程文件。[实验内容]一.设计一个图形用户界面,通过调节滑块可以画出不同频率的正弦波。并通过菜单可调节图形界面的坐标网格控制、退出程序等简单操作。二.对于传递函数G=1/(s2+2ξs+1)的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。要求:1.通过编辑框输入阻尼比系数ξ后,可自动绘出相应的单位阶跃相应曲线;2.通过按“gridon”按钮,可画出坐标网格,按“gridoff”按钮,取消坐标网格;3.在坐标绘图区单击鼠标右键,可以打开一个弹出菜单,分别为red、blue、black和close,单击red、blue、black将以相应颜色重新绘图,单击close退出弹出菜单。

附录:MATLAB主要函数指令表(按字母顺序索引)Aaabs绝对值、模、字符的ASCII码值acos反余弦acosh反双曲余弦acot反余切acoth反双曲余切acsc反余割acsch反双曲余割align启动图形对象几何位置排列工具all所有元素非零为真angle相角ans表达式计算结果的缺省变量名any所有元素非全零为真area面域图argnames函数M文件宗量名asec反正割asech反双曲正割asin反正弦assignin向变量赋值atan反正切atan2四象限反正切atanh反双曲正切autumn红黄调秋色图阵axes创建轴对象的低层指令axis控制轴刻度和风格的高层指令Bbbar二维直方图bar3三维直方图bar3h三维水平直方图barh二维水平直方图base2decX进制转换为十进制bin2dec二进制转换为十进制blanks创建空格串bone蓝色调黑白色图阵box框状坐标轴breakwhile或for环中断指令brighten亮度控制Cccapture(5.3版以前)捕获当前图形cart2pol直角坐标变为极或柱坐标cart2sph直角坐标变为球坐标cat串接成高维数组caxis色标尺刻度cd指定当前目录cdedit启动用户菜单、控件回调函数设计工具cdf2rdf复数特征值对角阵转为实数块对角阵ceil向正无穷取整cell创建元胞数组cell2struct元胞数组转换为构架数组celldisp显示元胞数组内容cellplot元胞数组内部结构图示char把数值、符号、内联类对象转换为字符对象chi2cdfχ2分布累计概率函数chi2invχ2分布逆累计概率函数chi2pdfχ2分布概率密度函数chi2rndχ2分布随机数发生器cholCholesky分解clabel等位线标识cla清除当前轴class获知对象类别或创建对象clc清除指令窗clear清除内存变量和函数clf清除图对象clock时钟collect符号计算中同类项合并colmmd列最小度排序colorbar色标尺colorcube三浓淡多彩交叉色图矩阵colordef设置色彩缺省值colormap色图colspace列空间的基close关闭指定窗口colperm列排序置换向量comet彗星状轨迹图comet3三维彗星轨迹图compass射线图compose求复合函数cond(逆)条件数condeig计算特征值、特征向量同时给出条件数condest范–1条件数估计conj复数共轭contour等位线contourf填色等位线contour3三维等位线contourslice四维切片等位线图conv多项式乘、卷积cool青紫调冷色图copper古铜调色图cos余弦cosh双曲余弦cot余切coth双曲余切cplxpair复数共轭成对排列csc余割csch双曲余割cumsum元素累计和cumtrapz累计梯形积分cylinder创建圆柱Dddblquad二重数值积分deal分配宗量deblank删去串尾部的空格符dec2base十进制转换为X进制dec2bin十进制转换为二进制dec2hex十进制转换为十六进制deconv多项式除、解卷delaunayDelaunay三角剖分del2离散Laplacian差分demoMATLAB演示det行列式diag矩阵对角元素提取、创建对角阵diaryMATLAB指令窗文本内容记录diff数值差分、符号微分digits符号计算中设置符号数值的精度dir目录列表disp显示数组display显示对象内容的重载函数dlinmod离散系统的线性化模型dmperm矩阵Dulmage-Mendelsohn分解dos执行DOS指令并返回结果double把其他类型对象转换为双精度数值drawnow更新事件队列强迫MATLAB刷新屏幕dsolve符号计算解微分方程EeechoM文件被执行指令的显示edit启动M文件编辑器eig求特征值和特征向量eigs求指定的几个特征值end控制流FOR等结构体的结尾、数组每维最后元素下标eps浮点相对精度error显示出错信息并中断执行errortrap错误发生后程序是否继续执行的控制erf误差函数erfc误差补函数erfcx刻度误差补函数erfinv逆误差函数errorbar

温馨提示

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

评论

0/150

提交评论