当前位置:文档之家› 第一章MATLAB及其操作简述(精)

第一章MATLAB及其操作简述(精)

第一章MATLAB及其操作简述§1.1 MATLAB简介MATLAB是由美国Math Works公司推出的软件产品。

MATLAB是“Matric Laboratory”的缩写,意及“矩阵实验室”。

MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。

它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。

因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。

许多人赞誉它为万能的数学“演算纸”。

MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。

在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。

它还是一种有利的教学工具,它在大学的线性代数课程以及其它领域的高一级课程的教学中,已成为标准的教学工具。

最初的MATLAB是用FORTRAN编写的,在DOS环境下运行。

新版的MATLAB 是C语言编写的高度集成系统。

它在几乎所有流行的计算机机种,诸如PC、MACINTOSH、SUN、VAX上都有相应的MATLAB版本。

新版的MATLAB增强了图形处理功能,并在WINDOWS环境下运行。

现今,MATLAB的发展已大大超出了“矩阵实验室”的范围,在许多国际一流专家学者的支持下,Maths Works公司还为MATLAB配备了涉及到自动控制、信息处理、计算机仿真等种类繁多的工具箱(Tool Box),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。

近年来一些新兴的学科方向,Maths Works公司也很快地开发了相应的工具箱,例如:神经网络、模糊逻辑等。

§1.2 MATLAB操作说明一.启动MATLAB启动MATLAB有两种方法:1.在WINDOWS下,点D:\matlab\bin\matlab.exe进入MATLAB环境2.在DOS下,键入matlab,这一命令会自动执行WINDOWS,并启动MATLAB 以上两种操作的结果都会出现一个MATLAB的命令窗口。

二.MATLAB的一些基本操作及命令函数1.矩阵的输入矩阵可以用几种不同的方法输入到MATLAB语言中:⑴以直接列出元素的形式输入⑵通过语句和函数产生⑶建立在M文件中⑷从外部的数据文件中装入在MATLAB语言中不必描述矩阵的维数和类型,它们是由输入的格式和内容来确定的。

输入小矩阵最简单的方法是使用直接排列的形式,把矩阵的元素直接排列到方括号中,每行内的元素用空格或逗号分开,行与行的内容用分号格开。

例如输入A=[1 2 3;4 5 6;7 8 9]或A=[1,2,3;4,5,6;7,8,9]都将得到输出结果:A=1 2 34 5 678 9大的矩阵可以分行输入,用回车号代替分号。

输入后矩阵A将一直保存在工作空间中,除非被替代和清除,A矩阵可以随时被调出来。

若在命令末尾加上“;”号,则表示结果不显示,除非再次调用。

其余输入在实验中再做说明。

2.矩阵的运算如果一个矩阵A有n行、m列元素,则称A矩阵为n×m矩阵,如果n=m,则称矩阵A又称为方阵。

MATLAB定义了下面各种矩阵的基本运算:⑴矩阵转置用符号“’”来表示矩阵的转置。

如输入:x=[-1 0 2]’则输出为:x =-12⑵矩阵加、减矩阵的加、减由符号“+”、“-”表示,它有两种格式:a.两种矩阵进行加减运算,其对应的元素进行加减,得到一新矩阵。

如输入:A=[1 2 3;4 5 6;7 8 9];B=[1 4 7;8 9 10;11 12 13];C=A+B则输出为:C=2 6 101214 161820 22b.矩阵与标量进行加减运算,则矩阵中每个元素都与标量进行加减运算,如输入:x=[-1,0,2]’;y=x-1则输出为:y=-2-11⑶矩阵乘法,以符号“*”表示a.两矩阵相乘,如输入x=[2 3 4 5;1 2 2 1];y=[0 1 1;1 1 0;0 0 1;1 0 0];z=x y则输出为:z=8 5 63 3 3b.矩阵与标量相乘,如输入A=[2,3,4,5;1,2,2,1];B=A2则输出为:B=3 6 8 102 4 4 2⑷矩阵的求逆以“inv”来表示,如inv(A)表示A的逆。

如输入:A=[1 2 3;4 2 6;7 4 9];inv(A)则输出为:ans= -0.5000 -0.5000 0.50000.5000 -1.0000 0.50000.1667 0.8333 -0.5000⑸矩阵的乘方,以符号“^”表示a^p表示a的p次方,即a自乘p次。

当p为矩阵时,运算会出错。

3.MATLAB定义的点运算MATLAB中定义了一种特殊的运算,即所谓的点运算。

两个矩阵之间的点运算是该矩阵对应元素的直接运算。

注意:点乘积运算要求参与运算的两个矩阵维数相同,其具体操作如下所示:⑴乘除运算在MATLAB中,符号“.”表示乘法运算,相乘的数组要有相同的维数,而符号“./”表示数组除法运算,且为对应元素进行乘除。

如输入:A=[1,2,3];B=[4,5,6];C=A.B输出为:C=410 18输入:D=B./A输出为:D=4.00 2.5000 2.0000⑶乘方运算,以符号“.^”表示a.当x、y均为向量时,z=x.^y表示对应元素的乘方。

b.当x为向量,y为标量时,z=x.^y表示z(i)=x(i)y。

c.当x为标量,y为向量时,z=x.^y表示z(i)=x y(i)。

该运算也可用于任意维矩阵。

4.在MATLAB中,复数序列用“i”或“j”表示sqrt(-1),即5.关系运算MATLAB中共有六种关系,分别为:6.常用命令函数!执行操作系统命令abs 绝对值函数angle 相角函数axis 坐标轴标度设定cla 清除当前坐标轴clc 清除命令窗口显示clf 清除当前图形窗口close 关闭图形窗口delete 删除文件demo 运行MATLAB演示程序function MATLAB函数表达式的引导符grid 给图形加网格线gtext 在鼠标指定的位置加文字说明help 启动联机帮助文件显示hold 当前图形保护模式imag 求取虚部函数length 查询向量的维数linspace 构造线性分布的向量logspace 构造等对数分布的向量pi 圆周率πplot 线性坐标图形绘制quit 退出MATLAB环境real 求取实部函数size 查询矩阵的维数sqrt 平方根函数stem 函数序列柄状图形绘制subplot 将图形窗口分成若干个区域title 给图形加标题xlabel 给图形加x坐标说明ylabel 给图形加y坐标说明实验一、熟悉MATLAB环境[实验目的]1.熟悉MATLAB主界面,并学会简单的菜单操作。

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

3.掌握部分绘图函数。

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

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

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

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

MATLAB命令窗口的界面下有一个菜单条,如图所示:利用FILE菜单可方便对文件或窗口进行管理。

其中FILE|NEW的各子菜单,M-FILE (M文件)、FIGURE(图形窗口)、或MODEL(SIMULINK编辑界面)分别可创建对应文件或模块。

EDIT菜单允许用户和WINDOWS的剪切板交互信息。

MATLAB语言最基本的赋值语句结构为:变量名列表=表达。

表达式由操作符或其它字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。

如果变量名和“=”省略,则ANS变量将自动建立,例如键入:1900/81,得到输出结果:ans =23.4568。

在MATLAB中把数据绘成图形可有多种命令一供选择。

下面列出了这些命令:格。

[一.熟悉简单的矩阵输入1.从屏幕上输入矩阵A=[1 2 3;4 5 6;7 8 9]或A=[1,2,3;4,5,6;7,8,9]观察输出结果。

2.试用回车代替分号,观察输出结果。

3.输入矩阵B=[9,8,7;6,5,4;3,2,1]C=[4,5,6;7,8,9;1,2,3], 键入A B C 观察结果4.选择File|new菜单中的M-file,输入B=[9 ,8,7;6,5,4;3,2,1],保存为B.M文件,退出编辑环境。

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

[注]4.2版的MATLAB不能直接存为.m文件,而存为.txt文件,需在DOS下改为M文件,即在工作环境下键入!rename B.txt B.m 既可。

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

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

二.基本序列运算1.数组的加减乘除和乘方运算输入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。

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

2.粗略描绘下列各函数的波形(其中对于连续信号可取时间间隔为0.001)a.b.c.d.e.f.g.实验二离散时间信号与系统[实验目的]1.了解信号处理的基本操作2.熟悉一些常用的序列及其应用[实验原理]我们所接触的信号大多为连续信号,为使之便于处理,往往要对其进行采样,对信号抽样并保证其能完全恢复,对抽样频率有一定的限制。

基本的离散序列的定义如下:1.单位采样序列2.单位阶跃序列3.实指数序列,;a为实数4.复数指数序列,5.正余弦序列,6.周期序列,[实验内容]1.用MATLAB实现函数impseq(n0,n1,n2),使函数实现,。

该函数的格式为:Function [x,n]=impseq(n0,n1,n2)% Generate x(n)=delta(n-n0);n1<=n<=n2% [x,n]=impseq(n0,n1,n2)2.用MATLAB实现函数stepseq(n0,n1,n2),使函数实现u(n-n0),。

该函数的格式为:function [x,n]=stepseq(n0,n1,n2)%Generate x(n)=u(n-n0);n1<=n<=n2%[x,n]=stepseq(n0,n1,n2)3.用MATLAB实现下列序列a.b.c.d. 将c中的扩展为,周期数为44.MATLAB中可用算术运算符“+”实现信号相加,但和的长度必须相等。

相关主题