Matlab实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
4. 矩阵的创建与保存
Matlab中,基本的运算单元就是矩阵,矩阵运算是Matlab的 最基本特色,也是它功能强大的根本奥妙所在。在其他语言 中往往要用许多条语句以及许多特殊考虑才能完成的矩阵操 作,在Matlab中通常只需要一条语句就可以完成,这对于大 量数据的处理是非常灵活与方便的。掌握矩阵的操作是掌握 Matlab的基本出发点。
6
在输入变量的时候进行声明,也不需要指定其阶数。 当用户在输入一个新的变量时,就会自动给该变量 分配适当的内存 >> a=[1 2 3]; 双击a >> a = 'happy'; >> 回车
若用户输入的变量已经存在,则将新 输入的变量替换原有的变量。
7
2.工作空间的操作
Workspace:在MATLAB刚启动时为空,此后,用户所定 义的变量、运算结果和有关数据均存储在该空间。用 户退出时,工作空间的内容将不再保留。 保存和载入workspace: (1)[File]→[Save workspace As]:*.mat (2)[File]→[Open]:将磁盘文件中的所有变量都 调入工作空间。
矩阵的输入 直接输入法 利用MATLAB函数创建矩阵 建立在M文件中 从外部的数据文件中装入
16
直接输入法
输入过程中必须遵循以下规则:
◆ ◆ ◆
矩阵的所有元素必须放在方括号[ ]内; 矩阵元素之间必须用逗号‚,‛或空格隔开; 矩阵行与行之间用分号‚;‛或回车符隔开(大
的 矩阵可以用分行输入,回车键代表分号); ◆ 矩阵元素可以是任何不含未定义变量的表达式;
load d:\data.txt
Matlab将数据调出并自动存在矩阵data中。
19
data data =
1 4 7 >> 2 5 8 3 6 9
20
5. 向量生成
在MATLAB系统中,仅有一行或一列的矩阵称为向 量。向量是MATLAB的重要概念之一,它在利用MATLAB 进行信号的表示和处理方面发挥着重要的作用。 利用冒号‚:‛生成向量:冒号运算用于生成等步 长(均匀等分)的行向量。 a=m:n 用于生成步长值为1的均匀等分向量,其中m、 n分别代表向量的起始值和终止值,且n>m。如: a=1:10 a=1 2 运行结果为: 3 4 5 6 7 8 9 10
26
矩阵右除的运算符为‚ / ‛,设 A,B 为两矩阵, 则‚A/B”是指方程X*B=A的解矩阵X。矩阵A和B的列 数必须相等。
矩阵左除的运算符为‚\‛,设A、B为两矩阵,则 ‚A\B”是指方程B*X=A的解矩阵X。矩阵A和B的行 数必须相等。
b) 数组右除的运算符为‚./‛,左除的运算符为‚.\‛
21
a=m:p:n:用于生成步长值为p的均匀等分的行 向量,其中m、n分别代表向量的起始值和终止 值,p代表向量元素之间步长值,且n>m。
利用函数生成向量
linspace()函数用于生成线型等分向量,其运算规 律与冒号运算十分相似,所不同的是该函数除了要给 出向量的起始值、终止值以外,不需要给出步长值, 而是给出向量元素的个数。格式如下:
4
三、数值计算功能
1. 变量的命名规则
MATLAB 不要求用户在输入变量的时候进行声明,也不 需要指定其阶数。当用户在输入一个新的变量时,就会 自动给该变量分配适当的内存;若用户输入的变量已经 存在,则将新输入的变量替换原有的变量。 变量命名规则: 变量名必须以字母开头,由字母、数字和下划线混合组成。
★ ★ ★ ★ 求矩阵的行列式值:det 矩阵求逆:inv 求矩阵的特征值:eig 矩阵的秩:rank
•矩阵的加减
C=A+B C=A-B (1)若两矩阵的维数相同,则加减运算的结果是将两矩 阵的对应元素进行加减。 (2)若两矩阵的之一为标量(1×1矩阵),则加减运算 的结果是将矩阵的每一元素与该标量逐一相加减。 (3)若A与B的维数不匹配,则MATLAB将自动地给出错误 信息,提示用户两个矩阵的维数不匹配。
信号与系统
Matlab软件的使用
1
一、概述
MATLAB是matrix和laboratory前三个字母的缩写, 意思是‚矩阵实验室‛,是Math Works公司1984 年推出的数学类科技应用软件。 现在Matlab已经得到了很大的发展,不仅可以进 行数学运算,而且可以进行系统建模与仿真、符 号运算、系统原形开发等各种功能,应用领域也 拓展到了许多方面,如经济、统计、模式识别、 航空航天、生物医学、嵌入式系统、虚拟现实等, 已成为国际上公认的最优秀的科技应用软件,本 科生、研究生必须掌握的基础软件。
数组右除和左除的运算结果是完全等效的, ‚A./B”运算结果是将矩阵A的每一个元素与矩阵B 的对应元素相除。需要注意的是,参与数组运算 的两矩阵(数组)的大小必须相等。
27
7. 矩阵的下标
在matlab中,矩阵下标的行、列号都是从1开始的。
MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提 取子块和重排子块的操作。 –A(m,n):提取第m行,第n列元素; –A(:,n):提取第n列元素;A(m,:):提取第m行元素 –A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到 第n2列的所有元素(提取子块)。 –A(:):得到一个长列矢量,该矢量的元素按矩阵的列 进行排列。 –A(:,:): 矩阵的所有行和列
11
3. 基本语句结构
变量名列表=表达式 其中等号左边的变量名列表为MATLAB语句的返回值; 等号右边的表达式可以是常数、变量、矩阵、矩阵运算,也 可以是MATLAB的函数调用。 说明: (1)在MATLAB语言中,变量名为相同字母,但其大小写 不同,是作为两个变量来处理的; (2)等式右边的表达式可以由分号结束,也可以是逗号 或换行号结束,但它们的意义是不同的。
变量名区分字母大小写。
变量名的字符长度不应超过31个。
5
MATLAB的变量分为字符变量和数值变量,字符变量必须用 单引号括起来。数值变量格式一般为双精度数 如:
a = ‘happy day’ 表示将字符串‘happy day’赋值给字符变量a。 b = 365 则表示将数值365赋值给数值变量。 在MATLAB中存在着一些系统默认的固定变量。 如:i,j为wenku.baidu.com数单位,pi为圆周率π, inf:无穷大等
linspace(m,n):生成从起始值m开始到终止值n之间的 线性等分的100元素的行向量。
linspace(m,n,s):生成从起始值m开始到终止值n之间 的s个的线性等分点的行向量。
22
6. 矩阵运算和数组运算
矩阵运算是按矩阵运算规则进行的, 数组运算则是按数组元素逐一进行的。 •矩阵转置 矩阵转置用符号‚’‛来表示和实现。如: b=a’ •矩阵的翻转
MATLAB提供了一些矩阵翻转处理的特殊命令。 ★矩阵的左右翻转函数为:fliplr( ),即:bi,j = ai,n+1-j ★矩阵的上下翻转函数为:flipud( ),即:bi,j = an+1-i, j ★矩阵旋转90。函数为:rot90( ),即:bi,j = aj,n+1-I
23
•矩阵的一般运算
如:>>a=[1,2,3;4,5,6;7,8,9] >>b=[1 2 3;4 5 6;7 8 9 ]; >> a=1; b=2; c=[a,b,a+b*3,a/b]; a,b,c
17
利用MATLAB函数创建矩阵 (1) ones()函数:用于产生全为1的矩阵, ones(n)产生(n×n)维的全1阵,ones(n,m)产生 n行m列的全1阵。 (2)zeros()函数用于产生全为0的矩阵,zeros(n) 产生(n×n)维的全0阵,zeros(n,m)产生n行m列的 全0阵。
8
Open
注意:工作空间只保存用户所定义的变量、 运算结果和有关数据,不保存程序本身。
9
工作空间的显示修改和清除:
(1)who和whos:显示工作空间的所有变量(who为简单, whos为详细) (2)clear (all):清除所有变量;clear 变量名: 清除指定的变量 (3)可以直接双击工作空间中的变量进行查看或修改。
(3)rand()函数用于产生在[0,1]区间均匀分 布的随机阵,rand(n)产生(n×n)维的随机阵, rand(n,m)产生n行m列的随机阵。
18
利用M文件产生矩阵
对于大的且经常调用的矩阵,可以将其存入M文 件,以方便调用,避免重复使用。
利用外部数据文件装入到指定矩阵。
用户可以通过‚load”命令加载外部数据文件创建矩阵。
25
数组乘的运算符为‚.*‛,运算符中的点号不能 遗漏,也不能随意加空格符。参与数组乘运算的 两数组的大小必须相等(即为同维数组)。数组 乘的结果是将两同维数组的对应元素逐一相乘。 因此,A.*B与B.*A计算结果是完全相同的。
•矩阵除与数组除 矩阵除与数组除也有着较大差别,运算结果也 完全不同。 a) 矩阵除分为矩阵右除和矩阵左除两种情况。
24
•矩阵乘与数组乘
矩阵乘与数组乘有着较大差别,运算结果也完全不同。 矩阵乘的运算符为‚*‛,运算是按矩阵的乘法规则进行的, 即参与乘运算的两矩阵的内维必须相同。若C=A*B,则必须 满足Cm×n = Am×kBk×n。因此参与运算的两矩阵的顺序不能 任意调换。 >> g*f >> f=ones(1,3); ans = >> g=ones(3,1); 1 1 1 >> f*g 1 1 1 ans = 1 1 1 3 >>
2
特点:
• • • • • • 功能强大,使用方便,界面友好; 计算精确,同时容易实现结果的可视化; 易于扩展与共享,对不同的应用可以建立不同的工具 箱,同时能够保护开发者的知识产权。 Matlab软件中集成了SimuLink软件,可以非常方便地 进行系统的建模与仿真。 集成了大量的经过验证的工具箱,可以直接使用。 能够和许多编译器(C, C++, Delphi, Fortran等)接 口,生成直接可执行的文件,能调用其他语言或被其 他语言调用。 容易学习和使用,等等。
12
MATLAB语句结尾若加上分号‚;‛ 作用是将计算 结 果存入内存,但不显示在屏幕上。反之,语句结尾 若不加‚;‛,则表示在语句执行后,在将计算结 果 存入内存的同时,将运算结果显示出来。 比较:k=198/6
和K=198/6;
13
14
• 任何MATLAB的语句的执行结果都可以在屏幕上显示,同时 赋值给指定的变量,没有指定变量时,赋值给一个特殊的 变量ans,数据的显示格式由format命令控制。 • format只是影响结果的显示,不影响其计算与存储; MATLAB总是以双字长浮点数(双精度)来执行所有的运算。 • 如果结果为整数,则显示没有小数;如果结果不是整数, 则输出形式有: –format (short):短格式(5位定点数)99.1253 –format long:长格式(15位定点数 99.12345678900000 –format short e:短格式e方式 9.9123e+001 –format long e:长格式e方式 9.912345678900000e+001 –format bank:2位十进制 99.12 –format hex:十六进制格式
3

二、工作环境
Workspace 工作空间 Command History 命令历史
Command Window 命令/输出 窗口
如图是Matlab的运行界面,有三个窗口。Matlab有内嵌 的语言,可以在命令窗口中输入和执行,它是一种命令 语言(解释语言),所以其运行结果可以立即显示出来, 其语法与C语言极其相似,很容易理解和学习。
命令窗口的操作与控制
(1)方向键和控制键可以编辑修改已输入的命令 ↑:回调上一行命令;↓:回调下一行命令
(2)命令窗口的分页输出: more off:不分页;more on:分页;more(n):指定 每页行数
10
(3)多行命令(…): 如果命令语句超过一行或者太长希望 分行输入,则可以使用多行命令继续输入。如: S=1-12+13+4+… 9-4-18; (4)命令窗口的清除:使用clc命令 (5)命令窗口的退出:使用quit或exit命令,这也就是matlab的 退出。
相关文档
最新文档