MATLAB程序设计实验(46页).doc
《MATLAB程序设计实验(46页).doc》由会员分享,可在线阅读,更多相关《MATLAB程序设计实验(46页).doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-MATLAB程序设计实验-第 41 页系立项建设实验指导书MATLAB程序设计与应用实验主 编:王 春、段守付物理与电子信息工程系目 录前 言1实验一 熟悉MATLAB 环境2实验二 数值数组创建、应用及可视化6实验三 字符串数组的使用、简单脚本文件和函数的编写10实验四 数据可视化方法17实验五 简单数据分析23实验六 MATLAB 仿真初步27实验七 电路模型仿真应用30实验八 简单图形用户界面设计32附录:MATLAB 主要函数指令表(按字母顺序索引)35前 言美国MathWorks公司推出的MATLAB是一种集数值计算、符号、运算、可视化建模、仿真和图形处理等多种功能于一体的优秀编程
2、、仿真工具,被誉为“巨人肩膀上的工具”、“演算纸式的编程语言”,是从事科学研究、工程计算的广大科技工作者、理工类高校师生确认为必须掌握的计算工具,是从理论通向实际的桥梁,也是最可信赖的科技资源之一。为了配合学生上机实践,更好掌握MATLAB 的基本使用技能,了解MATLAB 的编程风格,以及将所学课程与MATLAB 实践相结合,特别编写了本实验讲义。其主要内容包括:MATLAB 入门及基本操作,数组、矩阵的使用及数据可视化方法,脚步文件及函数的编写,以及仿真、图形用户界面入门等。MATLAB 内容丰富,内嵌了许多功能函数。为了方便课堂教学使用,也顾及查阅功能,在书后的索引中按照字母顺序对常见M
3、ATLAB 函数进行了分类,以备读者查阅需要。本书编写由王春、段守付完成。由于编者水平有限,书中难免存在不妥之处,恳请广大读者指正。同时,我们也会在适当时间进行修订和补充。实验一 熟悉MATLAB 环境实验目的1熟悉MATLAB 主界面,并学会简单的菜单操作。2学会简单的矩阵输入与信号输入。3掌握部分绘图函数。实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。用户第一次使用MATLAB 时,建议首先在屏幕上键入demo 命令,它将启动MATLAB 的演试程序,用户可在此演示程序中领略MATLAB 所提供的强大的运算与绘图功能
4、。也可以键入help 进行进一步了解。MATLAB 启动界面如图所示:操作界面主要的介绍如下: 指令窗(Command Window),在该窗可键入各种送给MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。 历史指令窗(Command History),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生M 文件。 工作空间浏览器(Workspace Browser),该窗口罗列出MATLAB 工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。其
5、它还有当前目录浏览器( Current Directory Browser ) 、M 文件编辑/ 调试器(Editor/Debugger)以及帮助导航/浏览器(Help Navigator/Browser)等,但通常不随操作界面的出现而启动。利用File 菜单可方便对文件或窗口进行管理。其中File | New 的各子菜单,M-file(M 文件)、Figure(图形窗口)、或Model(SIMULINK 编辑界面)分别可创建对应文件或模块。Edit 菜单允许用户和Windows 的剪切板交互信息。MATLAB 语言最基本的赋值语句结构为:变量名列表=表达式。表达式由操作符或其它字符,函数和变
6、量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“=”省略,则ans 变量将自动建立,例如键入:1900/81,得到输出结果:。MATLAB 中变量命名的原则要求必须以英文字母开头,文件夹名字中可以还包括、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行MATLAB 中一些莫名的错误可能就是不规范的命名引起的。这种规则包括将来为自己编写的脚本文件、函数文件命名以及为使用的变量命名也应遵循这个规则。实验内容一用户工作目录和当前目录的建立和设置1 为管理方便,每个用户在使用MATLAB 前,尽量为自己建立一个
7、专门的工作目录,即“用户目录”,用来存放自己创建应用文件。例如首先打开资源管理器,在E 驱动器下可以根据自己喜好建立一个新文件夹,但应注意:该文件夹必须以英文开头,文件夹名字中可以包括字母、下划线和数字,不要使用其他的字符,更不要单纯使用数字或者中文名命名,有时在运行MATLAB 中一些莫名的错误可能就是不规范的命名引起的,这与MATLAB 中为变量和文件名命名原则是一致的。尽管MATLABwork允许用户存放用户文件,但最好把它仅作为临时工作目录来使用。2 为了用户运行方便,在开始工作前可把用户定义的目录设置为当前目录,方法是可直接在MATLAB 命令窗口桌面上方通过目录设置栏来实现。3 把
8、自己的工作目录加到MATLAB 搜索路径上,这样可以在任何情况下方便地调用自己的编写文件。MATLAB 工作时,基本搜索过程为:首先在工作空间,即MATLAB 内存中进行检查,看输入的指令是不是变量;如不是,则检查输入指令是不是内建函数(比如sin 函数等);如不是,则在当前目录上,检查是否有与输入指令相同的M文件存在;如还没有,则在MATLAB 定义的搜索路径其他目录中,检查是否有该M文件存在。设置方法是通过File 菜单下设置路径对话框进行。二熟悉简单的矩阵输1 从屏幕上输入矩阵A=1 2 3;4 5 6;7 8 9 回车A=1,2,3;4,5,6;7,8,9 回车观察输出结果。2 试用回
9、车代替分号,观察输出结果。3 输入size(A),观察结果。4 输入矩阵B=9,8,7;6,5,4;3,2,1;回车输入矩阵C=4,5,6;7,8,9;1,2,3;回车,然后分别键入A B C 回车观察结果。5 选择File|new 菜单中的M-file,输入B=9 ,8,7;6,5,4;3,2,1;保存为B.M 文件,退出编辑环境。此时在工作环境中使用B 命令就可调出B 矩阵。6 再试着输入一些矩阵,矩阵中的元素可为任意数值表达式,但注意:矩阵中各行各列的元素个数需分别相等,否则会给出出错信息。7 输入who 和whos 观察结果,了解其作用。二常用基本命令的使用数据文件的存取训练:利用sa
10、ve 和load 指令可以方便地把当前工作空间的数据变量保存为数据文件。接题一,输入:save a 回车,表示把当前工作空间的所有变量保存为a.mat 文件。输入save a A C 回车,表示把当前内存中的变量A、C 保存为a.mat 文件。类似的还有load 命令,实现保存数据变量的装载,执行clear 命令,然后运行load a 回车,观察工作空间的变化。save、load、clear 命令还有一些其他的应用格式,具体可参看帮助文件。三基本序列运算1 数组的加减乘除和乘方运算2 输入A=1 2 3,B=4 5 6,求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.B,并用st
11、em画出A,B,C,D,E,F,G。再输入一些数组,进行类似运算。3 在命令窗口用plot 指令粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为,可参看下面的a 的实例来实现,数学函数MATLAB 实现参见附录)a. 实现方法,在命令窗口执行一下指令,可简单描绘出函数曲线:t=0:.001:3;y=3-exp(-t);plot(t,y)b. c. d. 2 t 3)可以找出数组X 中所有绝对值大于3 的元素。另外还可以借助ones, zeros, rand, randn 和cat,repmat, reshape 等函数直接或间接构作高维数组,详见附录或MATLAB 帮助。Matlab
12、中的许多函数可以直接对任意维的数组直接运算,相当于对数组中的每个元素分别进行运算。比如Y=sin(X)可以直接得到与数组X 中每一个元素相对应的的正弦值,这大大简化了编程。可以执行数组运算的常用函数已经列表于附录中,以供参考。但值得注意的是,虽然从外观形状和数据结构上看,二维数组和(数学中的)矩阵)没有区别,但矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。为了区别数组和矩阵运算,在易混淆的地方,数组运算在运算符前加一小黑点“.”以示区别,比如Y=A.*B,代表的示数组
13、A 和数组B 对应元素相乘,而Y=A*B,则表示内维相同的矩阵A 和B 的乘积。由此也可看出,在执行数组与数组的运算时,参与运算的数组必须同维,运算所得结果也总与原数组同维。本节只涉及数组可视化方法的简单实现。通常,对于离散数据可采用stem 命令或者使用plot 绘点的方法,而对于连续函数可直接采用plot 指令来实现。实验内容一数组的创建和寻访1一维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释,不用输入。rand(state,0) %把均匀分布伪随机发生器置为0 状态x=rand(1,5) %产生(1 5) 的均布随机数组x(3) %寻访数组x 的第三
14、个元素。x(1 2 5) %寻访数组x 的第一、二、五个元素组成的子数组。x(1:3) %寻访前三个元素组成的子数组x(3:end) %寻访除前2 个元素外的全部其他元素。end 是最后一个元素的下标。x(3:-1:1) %由前三个元素倒排构成的子数组x(find(x0.5) %由大于0.5 的元素构成的子数组x(1 2 3 4 4 3 2 1) %对元素可以重复寻访,使所得数组长度允许大于原数组。x(3) = 0 %把上例中的第三个元素重新赋值为0x(1 4)=1 1 %把当前x 数组的第一、四个元素都赋值为1x3=; %空数组的赋值操作2二维数组(1)在命令窗口执行下面指令,观察输出结果a
15、=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
16、,302,303,304,305,306,307,308,309;(3)仿照问题1 中方法找出数组A 中所有绝对值大于3 的元素。(4)在命令窗口执行下面指令,体会二维数组的子数组寻访和赋值A=zeros(2,4) %创建(2 4) 的全零数组A(:)=1:8 %全元素赋值方式s=2 3 5; %产生单下标数组行数组A(s) %由“单下标行数组”寻访产生A 元素组成的行数组Sa=10 20 30 %Sa 是长度为3 的“列数组”A(s)=Sa %单下标方式赋值A(:,2 3)=ones(2) %双下标赋值方式:把A 的第2、3 列元素全赋为1(5)运行指令rand(state,11),A=ra
17、nd(3,10000);B=(A0.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、hold on、ho
18、ld off、 legend,具体使用方法使用help指令名来解答。实验三 字符串数组的使用、简单脚本文件和函数的编写实验目的1掌握字符串数组的创建和构造方法及常用字符串函数的使用。2熟练掌握MATLAB 控制流的使用方法。3熟悉M 脚本文件、函数文件的编写方法和技巧。实验原理与数值数组相比,串数组在MATLAB 中的重要性较小,但不可缺少。如果没有串数组及相应的操作,那么数据可视化、图形用户界面的制作将会遇到困难。字符串与数值数组是两种不同的数据类,它们的创建方式也不同。字符串的创建方式是:将待建的字符放在“单引号对”中。注意,“单引号对”必须是在英文状态下输入,其作用是MATLAB 识别送
19、来内容“身份”所必需的,如A=This is an example!;就创建了一个字符串A。注意创建带单引号的字符串时,每个单引号符用“连续2 个单引号符”标识。字符串的标识同数值数组同,而且也可以使用size 指令观察串数组的大小。串数组的ASCII 码可以通过指令abs 和double 来获取,而用char 指令可以把ASCII 码变为串数组,另外,MATLAB 可以很好的支持中文字符串数组。对于复杂串数组的创建,一是可以直接创建,但是要保证同一串数组的各行字符数相等,即保证各行等长,不推荐,太繁琐。二是可以利用串操作函数创建多行数组,比如char, str2mat, strvcat 等,
20、具体操作自己通过帮助体会。另外还可以通过转化函数产生数码字符长,比如A_str=int2str(A) 就是把整数数组A 转换成串数组,如果是非整数将被四舍五入后再转换,类似的函数还有num2str(把非整数数组转换为串数组,常用于图形中数据点的标识)、mat2str(把数值数组转换成输入形态的串数组,常与eval 指令配用)。假如想灵活运用MATLAB 去解决实际问题,想充分调动MATLAB科学技术资源,想理解MATLAB 版本升级所依仗的基础,那么掌握M 脚本文件合函数的编写规则将十分有用。用户通过本次实验,感受抽象概念的内涵、各指令间的协调,从感知上领悟MATLAB 编程的优越和要领。编写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计 实验 46
限制150内