您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 上海大学-通信-Matlab习题加详解
MATLAB实验指导书2前言MATLAB程序设计语言是一种高性能的、用于科学和技术计算的计算机语言。它是一种集数学计算、分析、可视化、算法开发与发布等于一体的软件平台。自1984年MathWorks公司推出以来,MATLAB以惊人的速度应用于自动化、汽车、电子、仪器仪表和通讯等领域与行业。MATLAB有助于我们快速高效地解决问题。MATLAB相关实验课程的学习能加强学生对MATLAB程序设计语言理解及动手能力的训练,以便深入掌握和领会MATLAB应用技术。目录实验一熟悉MATLAB环境...................................................................1实验二数值数组创建、应用及可视化..................................................6实验三字符串数组的使用、简单脚本文件和函数的编写................14实验四数据可视化方法........................................................................21实验五简单数据分析............................................................................27实验六简单图形用户界面设计..........................................................301实验一熟悉MATLAB环境实验室名称:Matlab实验室实验日期:2014年12月2日教师评语教师签名:年月日1、实验目的(1)熟悉MATLAB主界面,并学会简单的菜单操作。(2)学会简单的矩阵输入与信号输入。(3)掌握部分绘图函数。2、实验环境(软件、硬件及条件):WindowsXP,Matlab7.13、实验内容、步骤与结果一.用户工作目录和当前目录的建立和设置图1.1目录二.熟悉简单的矩阵输入图1.2建立M文件2图1.3简单矩阵(1)图1.4简单矩阵(2)三.基本序列运算1、输入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,G。再输入一些数组,进行类似运算。3图1.5A图1.6B图1.7C图1.8D2、简单描绘出函数曲线:a.tetf330tb.tteetf23530tc.tetft2sin30td.atattf/sin22t(在MATLAB中用pi来实现)f.ketf50k绘图如下所示:图1.9曲线a图1.10曲线b4图1.11曲线c图1.12曲线d图1.13曲线f四.M脚本文件编写初步用M文件编辑器编写脚本文件重新描绘上面函数波形。图1.14M文件代码54、实验分析MATLAB是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。操作界面主要的介绍如下:指令窗(CommandWindow),在该窗可键入各种送给MATLAB运作的指令、函数、表达式,并显示除图形外的所以运算结果。历史指令窗(CommandHistory),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生M文件。工作空间浏览器(WorkspaceBrowser),该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。其它还有当前目录浏览器(CurrentDirectoryBrowser)、M文件编辑/调试器(Editor/Debugger)以及帮助导航/浏览器(HelpNavigator/Browser)等,但通常不随操作界面的出现而启动。利用File菜单可方便对文件或窗口进行管理。其中File|New的各子菜单,M-file(M文件)、Figure(图形窗口)、或Model(Simulink编辑界面)分别可创建对应文件或模块。Edit菜单允许用户和Windows的剪切板交互信息。5、实验结论(1)将代码写在.m文件里,这样只需要该文件里的就可以而不必每次都去敲命令;(2)MATLAB语言最基本的赋值语句结构为:变量名列表=表达式。6实验二数值数组创建、应用及可视化实验室名称:Matlab实验室实验日期:2014年12月5日教师评语教师签名:年月日1、实验目的(1)掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别。(2)掌握标准数组生成函数和数组构造技法。(3)进一步熟悉M脚本文件编写的方法和技巧。2、实验环境(软件、硬件及条件):WindowsXP,Matlab7.13、实验内容、步骤与结果一.数组的创建和寻访1、一维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释。图2.1一维数组(1)7图2.2一维数组(2)2.二维数组(1)二维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释。8图2.3二维数组(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];9图2.4创建M文件并保存数组(3)找出数组5311342024A中所有绝对值大于3的元素。图2.5(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列元素全赋为110图2.6二维数组的子数组寻访和赋值11(5)运行指令rand(‘state’,11),A=rand(3,10000);B=(A0.5);C=2*B-1;首先预测(C*C’)/100的运行结果,然后再在机器上验证。(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。)图2.7运行指令(6)在命令窗口执行下面指令,体味数组运算与矩阵运算的区别图2.8数组运算与矩阵运算的区别12二.编写如图所示波形的MATLAB脚本文件,图中虚线为正弦波,要求它分别在21及22处削顶。图2.9函数波形图图2.10此波形的MATLAB脚本文件134、实验分析数值数组和数组运算MATALB核心内容,是MATLAB最重要的一种内建数据类型。一维数组的创建可采用逐个元素输入法,通用格式是x=a:inc:b。二维数组是由实数或复数排列成矩形而构成的。二维数组的创建也可采用直接输入法,或者利用构造M文件创建和保存数组。除此以外,还可以采用MATLAB提供的标准函数生成我们需要的数组,诸如zeros、ones、rand、eye、diag、magic等,详请见附录。一维数组元素的寻访和标识采用X(index)方法。二维数组元素的标识和寻访可分为“全下标”标识和“单下标”标识。5、实验结论(1)通常,对于离散数据可采用stem命令或者使用plot绘点的方法,而对于连续函数可直接采用plot指令来实现。(2)Matlab中的许多函数可以直接对任意维的数组直接运算,相当于对数组中的每个元素分别进行运算。14实验三字符串数组的使用、简单脚本文件和函数的编写实验室名称:Matlab实验室实验日期:2014年12月9日教师评语教师签名:年月日1、实验目的(1)掌握字符串数组的创建和构造方法及常用字符串函数的使用。(2)熟练掌握MATLAB控制流的使用方法。(3)熟悉M脚本文件、函数文件的编写方法和技巧。2、实验环境(软件、硬件及条件):WindowsXP,Matlab7.13、实验内容、步骤与结果一.串数组的创建和寻访1.以实际操作下例,以体会数值量与字符串的区别15图3.1数值量与字符串的区别2.已知串数组a=”Thisisanexample.”,试将其倒序输出。图3.2倒序输出163.接上题,试执行ascii_a=double(a),观察其ASCII码,并将ASCII码变回字符串。图3.3将ASCII码变回字符串4.尝试用直接输入法在命令窗口创建字符串s,第一行时“Thisstringarray”,第二行是“hasmultiplerows.”。图3.4使用直接输入法5.利用串操作函数char、str2mat、strvcat分别写出使以下这段文字成为字符串的程序,注17意保持这段文字的格式。在英式用法中,引号通常是单引号,如‘Fire!’。InGBusagequotationmarksareusuallysingle:’Fire!’.图3.5使文字成为字符串的程序二.脚本文件实现30,3cos14.0tteyt,并在图上标出图名和极大值点坐标。如下图所示。18图3.6M文件图3.7实现30,3cos14.0tteyt19三.编程实现分别用for或while循环语句计算:63263022212iiK的程序,并给出运行结果。此外,实现一种避免使用循环的的计算程序。K=1.8447e+019图3.8用for或while循环语句实现四.函数文件1.详读并运行下面的circle.m函数文件。体会M函数文件的编写结构及方法。%后面的内容称为注释行,不被执行,起注释说明作用。图3.9M函数文件图3.10circle(2,'b')对应的圆202.编写一个简单的函数文件,它具有如下性质:该函数被调用时,如果不指定输入变量,则自动输出“用户,你忘记给定输入变量了!”;当输入大于1的整数时,则输出“你是一个合法用户!”;当输入的是一个非正整数时,函数文件会给出一个错误提示“你是非法用户!”【提示:可能用到disp,error等指令,使用方法自己查询帮助】图3.11M文件图3.12运行结果4、实验分析字符串的创建方式是:将待建的字符放在“单引号对”中。MARLAB提供了五种控制流的结构:for循环结构,while循环结构,if-else-end分支结构,以及switch-case结果、try-catch结构。[实验内容及结果]脚本文件不同的,函数文件犹如一个“黑箱”。从外界只能看到传给它的输入量和送出的计算结果,而内部运作是藏而不见的,特点是:从形式上看,与脚本文件不同,函数文件的第一行总是以“function”引导的“函数声明行”;从运行上看,与脚本文件不同,每当函数文件运行时,MATLAB就会专门为它开辟一个临时的工作空间,称之为函数工作空间。5、实验结论(1)对循环体,循环变量依次取数组的各列,对于每个变量值,循环体被执行一次。(2)if指令判决和break指令的配合使用,可以强制中止for循环或while循环。(3)只有数组所有元素均为真时,MATLAB才会执行循环体。若表达式为空数组,则不执行循环体。21实验四数据可视化方法实验室名称:Matlab实验室实验日期:2014年12月12日教师评语教师签名:年月日1、实验目的(1)掌握曲线绘制的基本技法和指令,会使用线形、色彩、数据点标记表现不同数据的特征,掌握生成和运用标识注释图形。(2)进一步掌握函数编写及数据可视化方法。2、实验环境(软件、硬件及条件):WindowsXP,Matlab7.13、实验内容、步骤与结果一.仿照运行,体会数据可视化方法。1.已知12,,1,0n,16ny,运行下面程序,体会离散数据可视化方法。%用plot实现离散数据可视化n=0:12;
本文标题:上海大学-通信-Matlab习题加详解
链接地址:https://www.777doc.com/doc-2782753 .html