当前位置:文档之家› 第2讲 Matlab数据及其运算

第2讲 Matlab数据及其运算

注意:clear指令中X1和Y1之 间不能加逗号或分号;
单独键入clear 将无条件删除 工作空间中的所有变量;
clear all 删除工作空间中的 所有变量。
1、变量及其操作
Matlab的工作空间窗口专门用于内存变量的管理; 可以显示所有内存变量的属性; 能删除和编辑变量。
>Preferences->Command Window->Text Display.
1、变量及其操作
2、Matlab矩阵的表示
矩阵是Matlab最基本、最重要的数据对象,Matlab大部分运 算或命令都是在矩阵意义下执行的;
向量可以看成是仅有一行或一列的矩阵,单个数据(标量) 可以看成是仅含有一个元素的矩阵,故向量和单个数据都可 以作为矩阵的特例来处理。
A= 123 456
>> A(:)
ans =
1 4 2 5 3 6
2、Matlab矩阵的表示
2.3 矩阵拆分
(2) 利用空矩阵删除矩阵的元素 在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。 注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空
矩阵则存在于工作空间中,只是维数为0。
3、Matlab的算术运算
3.1 基本算法运算
MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、 /(右除)、\(左除)、^(乘方)。
注意,运算是在矩阵意义下进行的,单个数据的算术 运算只是一种特例。
3、Matlab的算术运算
(1) 矩阵加减运算
假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵 的加减运算。
1、变量及其操作
赋值语句
(1) 变量=表达式:将右边表达式的值赋给左边变量; (2) 表达式:将表达式的值赋给预定义变量ans; 其中表达式是用运算符将有关运算量连接起来的式子, 其结果是一个矩阵。
如果在语句后面加分号,仅仅执行赋值操作,不显示 结果;
命令语句后可以加上注释,用%开头;
1、变量及其操作
还可以进行矩阵和标量相乘,标量可以是乘数也可以是 被乘数。矩阵和标量相乘是矩阵中的每一个元素与此标 量相乘。
3、Matlab的算术运算
(3) 矩阵除法运算
在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。 如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。 A\B等效于A的逆左乘B矩阵,也就是inv(A)*B, 而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。 对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相
2、Matlab矩阵的表示
2.1 创建矩阵 (1)直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法:
将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素; 同一行的各元素之间用空格或逗号分隔; 不同行的元素之间用分号分隔或用回车符代替分号 。
2、Matlab矩阵的表示
2、Matlab矩阵的表示
>> A=[1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18] A=
123456 7 8 9 10 11 12 13 14 15 16 17 18 >> A(:,[2 4])=[] A= 1356 7 9 11 12 13 15 17 18
矩阵元素可以是任何matlab表达式 ,可以是实数 ,也 可以是复数,虚数单位可用i,j 表示
a=[1 2 3;4 5 6] x=[2 pi/2;sqrt(3) 3+5i]
2、Matlab矩阵的表示
(2)利用矩阵编辑器创建
单击操作桌面左上侧框下的workspace图标,使工作空间浏览器 出现在桌面的前台;
大矩阵可由方括号中的小矩阵或向量建立起来。
>> A=[1 2 3;4 5 6;7 8 9]; >> C=[A, eye(3);ones(3),A]
C= 123100 456010 789001 111123 111456 111789
2、Matlab矩阵的表示
2.2 矩阵元素表示
通过下标引用矩阵的元素,例如A(3,2)=200 如果给出的行 下标或列下标大于原矩阵的行数和列数,则自动扩
展原矩阵。
>> A=[1 2 3;4 5 6]; >> A(4,5)=10
A= 12300 45600 00000 0 0 0 0 10
2、Matlab矩阵的表示
2.2 矩阵元素表示
采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在 内存中的排列顺序。
在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。 例如A=[1,2,3;4,5,6]; A(3) ans = 2 显然,序号(Index)与下标(Subscript )是一一对应的,以m×n矩阵A为例, 矩阵元素A(i,j)的序号为(j-1)*m+i。
单击工作空间浏览器中的新建变量图标,在工作空间中出现一 个名为unnamed的变量;
双击unnamed变量,引出一个空白编辑界面,然后按照行、列 次序输入数据。
2、Matlab矩阵的表示
(3)M脚本文件创建法
启动M文件编辑器,并输入待建矩阵; 把输入内容保存(假设文件名为mymatrix.m); 在命令窗口中输入mymatrix,即运行该M文件,就会自动建立
A矩阵第k~k+m列的全部元素;A(i:i+m,k:k+m)表示取A矩阵第 i~i+m行内,并在第k~k+m列中的所有元素。 利用Matlab的冒号运算,可以很容易地从给出的矩阵中获得子矩 阵,这样处理的速度比循环语句来赋值的方式快得多。
2、Matlab矩阵的表示
>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20] A=
save data——将工作空间中所有的变量存到data.mat文件中。 save data a b ——将工作空间中a和b变量存到data.mat文件中 save d:\data a b
1、变量及其操作
内存变量文件—变量恢复
利用load将MAT文件中的变量装入Matlab工作空间中常用格 式为:
2、Matlab矩阵的表示
2.3 矩阵拆分
(1) 利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部
元素;A(i,j)表示取A矩阵第i行、第j列的元素。 A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取
第二讲 Matlab数据及其运算
第二讲 主要内容
变量及其操作 Matlab矩阵的表示 Matlab的算术运算 Matlab的关系运算 Matlab的逻辑运算 字符串 结构数据和单元数据
1、变量及其操作
数值的记述
采用习惯的十进制表示,可以带小数点或负号,以下 记述都合法; -100 0.0001 6.789 8.7e-6 -1.8e56
load —— load data —— load data a b ——
1、变量及其操作
数据的输出格式
指令被正确执行后,结果采用黑色字体输出; 运行过程中的警告信息和出错信息用红色字体显示; 数值通常占用64位内存,以16位有效数字的“双精度”进行运算
和存储; 数值输出默认格式是5位数字的short格式; 用户可根据需要选择数值输出显示格式; format只影响数据的输出格式,而不影响数据的计算和存储。 也可以不用format 命令,可以修改系统的默认设置格式,File-
1、变量及其操作
内存变量的显示
在命令窗口,通过who和whos 可以获得有关工作空间中变 量的相关信息;
注意:可以把多条指令放在 同一行上输入,中间用逗号 或分号分隔。如果采用分号, 则不显示该指令运行结果。
1、变量及其操作
内存变量的删除
在命令窗口,通过clear可以 删除工作空间中不再使用的 变量;
1、变量及其操作
内存变量文件—变量保存 利用MAT文件可以把当前MATLAB工作空间中的一些有用变 量用二进制格式长久地保留下来,扩展名是.mat。MAT文件 的生成由save命令来完成。常用格式为: save 文件名 [变量名表]
save —— 将工作空间中所有的变量存到matlab.mat(默认文件 名)文件中。
预定义变量
每当Matlab启动时,这些变量就 自动产生并且取其预定义的值;
如果用户对预定义变量进行赋值, 则变量的默认值将被新值临时覆 盖;
如果用clear指令清除或Matlab关 闭再重新启动后,所有预定义变 量将被重置为默认值。
EPS: Spacing of floating point numbers.
在采用IEEE浮点算法的计算机上,数值通常采用 “占用64位内存的双精度”表示;
除了一般实数数据外,还支持复数数组和字符串型数 组面可以跟字母、数字、下划 线等;
变量名最多不超过63个字符; 变量名区分大小写; Matlab提供的标准函数名以及命令名必须用小写字母; 变量名中不能包含空格、标点、运算符。
一个名为mymatrix的矩阵,可供以后使用;
2、Matlab矩阵的表示
(4)冒号表达式
冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3
其中e1为初始值,e2为步长,e3为终止值;如果省略e2不写,则 步长为1; 在MATLAB中,还可以用linspace函数产生行向量。其调用格式 为:linspace(a,b,n) 其中a和b是生成向量的第一个和最后一个元素,n是元素总数。 显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。
相关主题