当前位置:文档之家› 程序设计实验

程序设计实验

系立项建设实验指导书MATLAB程序设计与应用实验主编:王春、段守付物理与电子信息工程系目录前言 (2)实验一熟悉MATLAB 环境 (3)实验二数值数组创建、应用及可视化 (7)实验三字符串数组的使用、简单脚本文件和函数的编写 (11)实验四数据可视化方法 (18)实验五简单数据分析 (24)实验六 MATLAB 仿真初步 (28)实验七电路模型仿真应用 (31)实验八简单图形用户界面设计 (33)附录:MATLAB 主要函数指令表(按字母顺序索引) (36)前言美国MathWorks公司推出的MATLAB是一种集数值计算、符号、运算、可视化建模、仿真和图形处理等多种功能于一体的优秀编程、仿真工具,被誉为“巨人肩膀上的工具”、“演算纸式的编程语言”,是从事科学研究、工程计算的广大科技工作者、理工类高校师生确认为必须掌握的计算工具,是从理论通向实际的桥梁,也是最可信赖的科技资源之一。

为了配合学生上机实践,更好掌握MATLAB 的基本使用技能,了解MATLAB 的编程风格,以及将所学课程与MATLAB 实践相结合,特别编写了本实验讲义。

其主要内容包括:MATLAB 入门及基本操作,数组、矩阵的使用及数据可视化方法,脚步文件及函数的编写,以及仿真、图形用户界面入门等。

MATLAB 内容丰富,内嵌了许多功能函数。

为了方便课堂教学使用,也顾及查阅功能,在书后的索引中按照字母顺序对常见MATLAB 函数进行了分类,以备读者查阅需要。

本书编写由王春、段守付完成。

由于编者水平有限,书中难免存在不妥之处,恳请广大读者指正。

同时,我们也会在适当时间进行修订和补充。

实验一熟悉MATLAB 环境[实验目的]1.熟悉MATLAB 主界面,并学会简单的菜单操作。

2.学会简单的矩阵输入与信号输入。

3.掌握部分绘图函数。

[实验原理]MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。

它提供了各种矩阵的运算与操作,并有较强的绘图功能。

用户第一次使用MATLAB 时,建议首先在屏幕上键入demo 命令,它将启动MATLAB 的演试程序,用户可在此演示程序中领略MATLAB 所提供的强大的运算与绘图功能。

也可以键入help 进行进一步了解。

MATLAB 启动界面如图所示:操作界面主要的介绍如下:指令窗(Command Window),在该窗可键入各种送给MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。

历史指令窗(Command History),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生M 文件。

工作空间浏览器(Workspace Browser),该窗口罗列出MATLAB 工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。

其它还有当前目录浏览器( Current Directory Browser )、M 文件编辑/ 调试器(Editor/Debugger)以及帮助导航/浏览器(Help Navigator/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=[1 2 3;4 5 6;7 8 9] 回车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];回车,然后分别键入A B C 回车观察结果。

5. 选择 菜单中的M-file ,输入B=[9 ,8,7;6,5,4;3,2,1];保存为B.M 文件,退出编辑环境。

此时在工作环境中使用B 命令就可调出B 矩阵。

6. 再试着输入一些矩阵,矩阵中的元素可为任意数值表达式,但注意:矩阵中各行各列的元素个数需分别相等,否则会给出出错信息。

7. 输入who 和whos 观察结果,了解其作用。

二.常用基本命令的使用数据文件的存取训练:利用save 和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,并用stem画出A ,B ,C ,D ,E ,F ,G 。

再输入一些数组,进行类似运算。

3. 在命令窗口用plot 指令粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为0.001,可参看下面的a 的实例来实现,数学函数MATLAB 实现参见附录)a. t e t f --=3)( 30<<t实现方法,在命令窗口执行一下指令,可简单描绘出函数曲线:t=0:.001:3;y=3-exp(-t);plot(t,y)b. t t e e t f 235)(--+= 30<<tc. t e t f tπ2sin )(-= 30<<td. at at t f /sin )(= − 2π < t < 2π (π在MATLAB 中用pi 来实现)f. k e k f =)( 50<≤k三.M 脚本文件编写初步用M 文件编辑器编写脚本文件重新描绘上面函数波形。

实验二数值数组创建、应用及可视化[实验目的]1.掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别。

2.掌握标准数组生成函数和数组构造技法。

3.进一步熟悉M 脚本文件编写的方法和技巧。

[实验原理]数值数组和数组运算MATALB 核心内容,是MATLAB 最重要的一种内建数据类型。

通常,数组是由一组实数或复数排成的长方阵列(Array ),它可以是一维的“行”或“列”,可以是二维的“矩形”,也可是三维的若同维矩形的堆叠,甚至是更高的任意维。

而数组运算是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地时实施同样的操作。

这使得计算程序简单、易读,使程序指令更接近教科书上的数学计算公式,并提高了程序的向量化程度,提高计算效率,节省计算机开销。

一维数组的创建可采用逐个元素输入法,这是最简单,但又最通用的构造方法,如:x=[2 pi/2 sqrt(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 的寻址和赋值中最为常用。

相关主题