第2讲 Matlab数据及其运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单击工作空间浏览器中的新建变量图标,在工作空间中出现一 个名为unnamed的变量;
双击unnamed变量,引出一个空白编辑界面,然后按照行、列 次序输入数据。
2、Matlab矩阵的表示
(3)M脚本文件创建法
启动M文件编辑器,并输入待建矩阵; 把输入内容保存(假设文件名为mymatrix.m); 在命令窗口中输入mymatrix,即运行该M文件,就会自动建立
大矩阵可由方括号中的小矩阵或向量建立起来。
>> 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 如果给出的行 下标或列下标大于原矩阵的行数和列数,则自动扩
矩阵元素可以是任何matlab表达式 ,可以是实数 ,也 可以是复数,虚数单位可用i,j 表示
a=[1 2 3;4 5 6] x=[2 pi/2;sqrt(3) 3+5i]
2、Matlab矩阵的表示
(2)利用矩阵编辑器创建
单击操作桌面左上侧框下的workspace图标,使工作空间浏览器 出现在桌面的前台;
1、变量及其操作
内存变量的显示
在命令窗口,通过who和whos 可以获得有关工作空间中变 量的相关信息;
注意:可以把多条指令放在 同一行上输入,中间用逗号 或分号分隔。如果采用分号, 则不显示该指令运行结果。
1、变量及其操作
内存变量的删除
在命令窗口,通过clear可以 删除工作空间中不再使用的 变量;
save data——将工作空间中所有的变量存到data.mat文件中。 save data a b ——将工作空间中a和b变量存到data.mat文件中 save d:\data a b
1、变量及其操作
内存变量文件—变量恢复
利用load将MAT文件中的变量装入Matlab工作空间中常用格 式为:
同的值,都等于0.75。又如,设a=[10.5,25],则a/5=5\a=[2.1000 5.0000]。 对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵 的关系。对于矩阵运算,一般A\B≠B/A。
预定义变量
每当Matlab启动时,这些变量就 自动产生并且取其预定义的值;
如果用户对预定义变量进行赋值, 则变量的默认值将被新值临时覆 盖;
如果用clear指令清除或Matlab关 闭再重新启动后,所有预定义变 量将被重置为默认值。
EPS: Spacing of floating point numbers.
一个名为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等价。
1、变量及其操作
内存变量文件—变量保存 利用MAT文件可以把当前MATLAB工作空间中的一些有用变 量用二进制格式长久地保留下来,扩展名是.mat。MAT文件 的生成由save命令来完成。常用格式为: save 文件名 [变量名表]
save —— 将工作空间中所有的变量存到matlab.mat(默认文件 名)文件中。
12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
>> A(2:3,4:5) ans =
9 10 14 15
>> A(2:3,1:2:5) ans =
6 8 10 11 13 15
2、Matlab矩阵的表示
2.3 矩阵拆分
(1) 利用冒号表达式获得子矩阵 A(:)将矩阵A每一列元素堆叠起来,成为一个列向量,而这正是变量的内部储存方式;
>Preferences->Command Window->Text Display.
1、变量及其操作
2、Matlab矩阵的表示
矩阵是Matlab最基本、最重要的数据对象,Matlab大部分运 算或命令都是在矩阵意义下执行的;
向量可以看成是仅有一行或一列的矩阵,单个数据(标量) 可以看成是仅含有一个元素的矩阵,故向量和单个数据都可 以作为矩阵的特例来处理。
load —— load data —— load data a b ——
1、变量及其操作
数据的输出格式
指令被正确执行后,结果采用黑色字体输出; 运行过程中的警告信息和出错信息用红色字体显示; 数值通常占用64位内存,以16位有效数字的“双精度”进行运算
和存储; 数值输出默认格式是5位数字的short格式; 用户可根据需要选择数值输出显示格式; format只影响数据的输出格式,而不影响数据的计算和存储。 也可以不用format 命令,可以修改系统的默认设置格式,File-
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。
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
2、Matlab矩阵的表示
2.2 矩阵元素表示
size(A)函数返回矩阵A的行数和列数; length(A)函数给出行数和列数的较大值;length(A)=max(size(A)); reshape(A,m,n)函数在矩阵总元素不变的前提下,将矩阵A重排为
m*n的二维矩阵 reshape函数只改变矩阵的逻辑结构,不改变矩阵元素的存储结构;
3、Matlab的算术运算
3.1 基本算法运算
MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、 /(右除)、\(左除)、^(乘方)。
注意,运算是在矩阵意义下进行的,单个数据的算术 运算只是一种特例。
3、Matlab的算术运算
(1) 矩阵加减运算
假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵 的加减运算。
运算规则是:若A和B矩阵的维数相同,则可以Baidu Nhomakorabea行矩 阵的加减运算,A和B矩阵的相应元素相加减。
如果A与B的维数不相同,则MATLAB将给出错误信息, 提示用户两个矩阵的维数不匹配。
3、Matlab的算术运算
(2) 矩阵乘法运算
假定有两个矩阵A和B,若A为m×n矩阵,B为n×p矩 阵,则C=A*B为m×p矩阵。
注意:clear指令中X1和Y1之 间不能加逗号或分号;
单独键入clear 将无条件删除 工作空间中的所有变量;
clear all 删除工作空间中的 所有变量。
1、变量及其操作
Matlab的工作空间窗口专门用于内存变量的管理; 可以显示所有内存变量的属性; 能删除和编辑变量。
展原矩阵。
>> 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。
2、Matlab矩阵的表示
(5)利用matlab函数创建矩阵
rand —— 产生均匀分布的随机矩阵 randn —— 产生正态分布的随机矩阵 eye —— 单位矩阵 zeros ——全部元素都为0的矩阵 ones —— 全部元素都为1的矩阵
2、Matlab矩阵的表示
(6)建立大矩阵
第二讲 Matlab数据及其运算
第二讲 主要内容
变量及其操作 Matlab矩阵的表示 Matlab的算术运算 Matlab的关系运算 Matlab的逻辑运算 字符串 结构数据和单元数据
1、变量及其操作
数值的记述
采用习惯的十进制表示,可以带小数点或负号,以下 记述都合法; -100 0.0001 6.789 8.7e-6 -1.8e56
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.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)表示取
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=
2、Matlab矩阵的表示
2.2 矩阵元素表示
>> x=[23,45,65,34,65,78,94,44,32,79,12,43]; >> y=reshape(x,3,4) y=
23 34 94 79 45 65 44 12 65 78 32 43 >> newy=reshape(y,2,6) newy = 23 65 65 94 32 12 45 34 78 44 79 43
在采用IEEE浮点算法的计算机上,数值通常采用 “占用64位内存的双精度”表示;
除了一般实数数据外,还支持复数数组和字符串型数 组。
1、变量及其操作
变量命名
变量名应由字母引导,后面可以跟字母、数字、下划 线等;
变量名最多不超过63个字符; 变量名区分大小写; Matlab提供的标准函数名以及命令名必须用小写字母; 变量名中不能包含空格、标点、运算符。
2、Matlab矩阵的表示
2.1 创建矩阵 (1)直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法:
将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素; 同一行的各元素之间用空格或逗号分隔; 不同行的元素之间用分号分隔或用回车符代替分号 。
2、Matlab矩阵的表示
双击unnamed变量,引出一个空白编辑界面,然后按照行、列 次序输入数据。
2、Matlab矩阵的表示
(3)M脚本文件创建法
启动M文件编辑器,并输入待建矩阵; 把输入内容保存(假设文件名为mymatrix.m); 在命令窗口中输入mymatrix,即运行该M文件,就会自动建立
大矩阵可由方括号中的小矩阵或向量建立起来。
>> 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 如果给出的行 下标或列下标大于原矩阵的行数和列数,则自动扩
矩阵元素可以是任何matlab表达式 ,可以是实数 ,也 可以是复数,虚数单位可用i,j 表示
a=[1 2 3;4 5 6] x=[2 pi/2;sqrt(3) 3+5i]
2、Matlab矩阵的表示
(2)利用矩阵编辑器创建
单击操作桌面左上侧框下的workspace图标,使工作空间浏览器 出现在桌面的前台;
1、变量及其操作
内存变量的显示
在命令窗口,通过who和whos 可以获得有关工作空间中变 量的相关信息;
注意:可以把多条指令放在 同一行上输入,中间用逗号 或分号分隔。如果采用分号, 则不显示该指令运行结果。
1、变量及其操作
内存变量的删除
在命令窗口,通过clear可以 删除工作空间中不再使用的 变量;
save data——将工作空间中所有的变量存到data.mat文件中。 save data a b ——将工作空间中a和b变量存到data.mat文件中 save d:\data a b
1、变量及其操作
内存变量文件—变量恢复
利用load将MAT文件中的变量装入Matlab工作空间中常用格 式为:
同的值,都等于0.75。又如,设a=[10.5,25],则a/5=5\a=[2.1000 5.0000]。 对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵 的关系。对于矩阵运算,一般A\B≠B/A。
预定义变量
每当Matlab启动时,这些变量就 自动产生并且取其预定义的值;
如果用户对预定义变量进行赋值, 则变量的默认值将被新值临时覆 盖;
如果用clear指令清除或Matlab关 闭再重新启动后,所有预定义变 量将被重置为默认值。
EPS: Spacing of floating point numbers.
一个名为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等价。
1、变量及其操作
内存变量文件—变量保存 利用MAT文件可以把当前MATLAB工作空间中的一些有用变 量用二进制格式长久地保留下来,扩展名是.mat。MAT文件 的生成由save命令来完成。常用格式为: save 文件名 [变量名表]
save —— 将工作空间中所有的变量存到matlab.mat(默认文件 名)文件中。
12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
>> A(2:3,4:5) ans =
9 10 14 15
>> A(2:3,1:2:5) ans =
6 8 10 11 13 15
2、Matlab矩阵的表示
2.3 矩阵拆分
(1) 利用冒号表达式获得子矩阵 A(:)将矩阵A每一列元素堆叠起来,成为一个列向量,而这正是变量的内部储存方式;
>Preferences->Command Window->Text Display.
1、变量及其操作
2、Matlab矩阵的表示
矩阵是Matlab最基本、最重要的数据对象,Matlab大部分运 算或命令都是在矩阵意义下执行的;
向量可以看成是仅有一行或一列的矩阵,单个数据(标量) 可以看成是仅含有一个元素的矩阵,故向量和单个数据都可 以作为矩阵的特例来处理。
load —— load data —— load data a b ——
1、变量及其操作
数据的输出格式
指令被正确执行后,结果采用黑色字体输出; 运行过程中的警告信息和出错信息用红色字体显示; 数值通常占用64位内存,以16位有效数字的“双精度”进行运算
和存储; 数值输出默认格式是5位数字的short格式; 用户可根据需要选择数值输出显示格式; format只影响数据的输出格式,而不影响数据的计算和存储。 也可以不用format 命令,可以修改系统的默认设置格式,File-
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。
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
2、Matlab矩阵的表示
2.2 矩阵元素表示
size(A)函数返回矩阵A的行数和列数; length(A)函数给出行数和列数的较大值;length(A)=max(size(A)); reshape(A,m,n)函数在矩阵总元素不变的前提下,将矩阵A重排为
m*n的二维矩阵 reshape函数只改变矩阵的逻辑结构,不改变矩阵元素的存储结构;
3、Matlab的算术运算
3.1 基本算法运算
MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、 /(右除)、\(左除)、^(乘方)。
注意,运算是在矩阵意义下进行的,单个数据的算术 运算只是一种特例。
3、Matlab的算术运算
(1) 矩阵加减运算
假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵 的加减运算。
运算规则是:若A和B矩阵的维数相同,则可以Baidu Nhomakorabea行矩 阵的加减运算,A和B矩阵的相应元素相加减。
如果A与B的维数不相同,则MATLAB将给出错误信息, 提示用户两个矩阵的维数不匹配。
3、Matlab的算术运算
(2) 矩阵乘法运算
假定有两个矩阵A和B,若A为m×n矩阵,B为n×p矩 阵,则C=A*B为m×p矩阵。
注意:clear指令中X1和Y1之 间不能加逗号或分号;
单独键入clear 将无条件删除 工作空间中的所有变量;
clear all 删除工作空间中的 所有变量。
1、变量及其操作
Matlab的工作空间窗口专门用于内存变量的管理; 可以显示所有内存变量的属性; 能删除和编辑变量。
展原矩阵。
>> 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。
2、Matlab矩阵的表示
(5)利用matlab函数创建矩阵
rand —— 产生均匀分布的随机矩阵 randn —— 产生正态分布的随机矩阵 eye —— 单位矩阵 zeros ——全部元素都为0的矩阵 ones —— 全部元素都为1的矩阵
2、Matlab矩阵的表示
(6)建立大矩阵
第二讲 Matlab数据及其运算
第二讲 主要内容
变量及其操作 Matlab矩阵的表示 Matlab的算术运算 Matlab的关系运算 Matlab的逻辑运算 字符串 结构数据和单元数据
1、变量及其操作
数值的记述
采用习惯的十进制表示,可以带小数点或负号,以下 记述都合法; -100 0.0001 6.789 8.7e-6 -1.8e56
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.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)表示取
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=
2、Matlab矩阵的表示
2.2 矩阵元素表示
>> x=[23,45,65,34,65,78,94,44,32,79,12,43]; >> y=reshape(x,3,4) y=
23 34 94 79 45 65 44 12 65 78 32 43 >> newy=reshape(y,2,6) newy = 23 65 65 94 32 12 45 34 78 44 79 43
在采用IEEE浮点算法的计算机上,数值通常采用 “占用64位内存的双精度”表示;
除了一般实数数据外,还支持复数数组和字符串型数 组。
1、变量及其操作
变量命名
变量名应由字母引导,后面可以跟字母、数字、下划 线等;
变量名最多不超过63个字符; 变量名区分大小写; Matlab提供的标准函数名以及命令名必须用小写字母; 变量名中不能包含空格、标点、运算符。
2、Matlab矩阵的表示
2.1 创建矩阵 (1)直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法:
将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素; 同一行的各元素之间用空格或逗号分隔; 不同行的元素之间用分号分隔或用回车符代替分号 。
2、Matlab矩阵的表示