第2讲 MATLAB矩阵及其运算(续)
合集下载
matlab-第2讲-矩阵及数值运算

2. roots —— 求多项式的根
a=[1 2 3; 4 5 6; 7 8 0]; p=poly(a) p= 1.00 -6.00 -72.00 -27.00 r=roots(p) r = 12.12 -5.73 ——显然 r是矩阵a的特征值 -0.39
• matlab规定多项式系数向量用行向量表示,一
MATLAB学习内容
第一讲:概述及基本操作
第二讲:矩阵及数值运算
第三讲:二维、三维绘图
第四讲: MATLAB的程序设计
第一天
第五讲:统计不回归分析
第六讲:揑值不拟合 第七讲:微分方程 第八讲:优化问题
第二天
第二讲 矩阵与数值运算
matlab 具有出色的数值计算能力,占 据世界上数值计算软件的主导地位
a./b= [a1/b1,a2/b2,…,an/bn] a.\b=[b1/a1,b2/a2,…,bn/an] a.^b=[a1^b1,a2^b2,…,an^bn] MATLAB (shuzu4)
返回
三、 矩阵的数组运算 数组运算指元素对元素的算术运算,
1、数组加减( .+ , .- ) a.+b a.- b
本讲内容
一、矩阵的创建不修改 二、矩阵运算 三、数组运算 四、利用矩阵来进行数值计算 – 多项式运算 – 线性方程组 – 数值统计 – 线性揑值 – 函数优化 – 微分方程的数值解
二、矩阵运算
1. 矩阵加、减(+,-)运算
规则:
相加、减的两矩阵必须有相同的行和列,两矩 阵对应元素相加减。 允许参不运算的两矩阵之一是标量。标量不矩 阵的所有元素分别进行加减操作。
(2)数组-数组运算 当两个数组有相同维数时,加、减、乘、除、 幂运算可按元素对元素方式进行的,丌同大小戒维 数的数组是丌能进行运算的.
第2章MATLAB矩阵及其运算

·30·
第 2 章 MATLAB 矩阵及其运算
的求解方法时,因不完善的设计导致的内存溢出。在此,主要针对第二种情况进行分析并 给出相应的解决方案。
1.变量名区分大小写 变量名的定义必须符合以下条件: 必须以字母开头。 由字母、数字、下划线组成。 最长为 31 个字符。 一些用户不可以清除的变量,如 ans、eps、pi、Inf、NaN 等。 【例 2-1】 变量定义举例如下:
A a king
在 MATLAB 中的变量不需要事先定义,在遇见新的变量名时,MATLAB 会自动建立 并且为其分配存储空间。如果遇见已经出现的变量,会重新为其分配空间。
a = complex(2,9) b = real(a) c = imag(a)
MATLAB 运行结果如下:
a= 2.0000 + 9.0000i
b= 2
c= 9
3.除了可以把数值直接赋给变量,还可以将表达式、矩阵赋给变量
对于矩阵的讲解,会在后面详细讲解。 【例 2-4】 变量的赋值举例如下:
a=[1 4 7] B=abs(6+13i) C=[]
(4)不同数据结构的内存。 在 MATLAB 中,8 位、16 位、32 位、64 位的有符号整型或无符号整型分别占用 1、2、4、8 字节空间,单精度、双精度浮点数分别占用 4、8 字节空间。 在 MATLAB 中,复数的存储比较特殊。复数的实部和虚部在内存中是分开存放的, 当在程序中修改复数的实部或虚部时,会在修改数据的同时复制复数的实部和虚部。 在 MATLAB 中,当数组的元素绝大部分为 0 时,MATLAB 一般默认采用稀疏矩 阵进行存储以节省空间。
a=[1,2,3,4,5,6,7,8,9,10]
Matlab讲座二_矩阵及运算

其中, a=[1 2 3; 3 -5 4; 7 8 9] x=[x1;x2;x3] b=[2;0;2]
-18/17 2/17 16/17
MATLAB 基本语法
5. 矩阵的超越函数
在Matlab中解释 exp(A) 和 sqrt(A) 时曾涉及到级数运 算,此运算定义在A的单个元素上。 Matlab可以计算矩阵 的超越函数,如矩阵指数、矩阵对数等。 一个超越函数可以作为矩阵函数来解释,例如将“m” 加在函数名的后边而成 expm(A) 和 sqrtm(A),当Matlab运 行时,有下列三种函数定义: expm 矩阵指数 logm 矩阵对数 sqrtm 矩阵开方 所列各项可以加在多种m文件中或使用funm。详细用 法请利用 help 功能参见帮助文件。 例如,help expm
1.按顺序进行如下的操作: (1)产生一个5阶魔术方阵A(A=magic(5));并计 算 A' 与 A-1 (即 inv(A)); (2)求A的特征值; (3)计算A的各列的总和与平均值; (4)计算A的各行的总和与平均值; (5)若b=[1 2 3 4 5] ',求方程组 Ax=b的解; (6)验证你的结论的正确性。
MATLAB 基本语法
7. 关于矩阵的几个函数
(8)混合积
混合积由以上两函数实现: 例 计算向量a=(1, 2, 3)、b=(4, 5, 6)和c=(-3, 6, -3) 的混合积 a · b×c ) ( 解: >> a=[1 2 3]; b=[4 5 6]; c=[-3 6 -3]; >> x=dot(a, cross(b, c)) x= 54
MATLAB 基本语法
4. 矩阵除法
在Matlab中有两种矩阵除法符号: “\” 即 左除 和 “/” 即 右除。 如果A矩阵是非奇异方阵,则A\B 是A的逆矩阵乘B, 即 inv(A)*B; 而 B/A 是 B 乘A的逆矩阵,即 B*inv(A)。 具体计算时可不用逆矩阵而直接计算。 通常: x=A\B 就是 A*x=B 的解; x=B/A 就是 x*A=B 的解。
第2章 MATLAB矩阵及其运算

3、预定义变量
在MATLAB工作空间中,还驻留几个由系统本身定义的变 MATLAB工作空间中, 工作空间中 量。预定义变量有特定的含义,在使用时,应尽量避免对这些 预定义变量有特定的含义,在使用时, 变量重新赋值。 变量重新赋值。
预定义变量 含义 预定义变量 含义 函数输入参数个数 函数输出参数个数 最大正实数 最小正实数 存放最新的错误信息 存放最新的警告信息
2.内存变量文件 利用MAT文件可以把当前MATLAB MAT文件可以把当前MATLAB工作空间中的一些 利用MAT文件可以把当前MATLAB工作空间中的一些 有用变量长久地保留下来,扩展名是.mat MAT文件 .mat。 有用变量长久地保留下来,扩展名是.mat。MAT文件 的生成和装入由save load命令来完成 save和 命令来完成。 的生成和装入由save和load命令来完成。常用格式 为: 变量名表] [-append][save 文件名 [变量名表] [-append][-ascii] 变量名表] [load 文件名 [变量名表] [-ascii]
clear命令用于删除MATLAB工作空间中的变量。 clear命令用于删除MATLAB工作空间中的变量。 命令用于删除MATLAB工作空间中的变量 注意:预定义变量不能被删除。 注意:预定义变量不能被删除。 MATLAB工作空间窗口专门用于内存变量的管理。 MATLAB工作空间窗口专门用于内存变量的管理。 工作空间窗口专门用于内存变量的管理 在工作空间窗口中可以显示所有内存变量的属性。 在工作空间窗口中可以显示所有内存变量的属性。当 选中某些变量后,再单击Delete按钮,就能删除这些 选中某些变量后,再单击Delete按钮, Delete按钮 变量。当选中某些变量后,再单击Open Selection按 变量。当选中某些变量后,再单击Open Selection按 将进入变量编辑器。 钮,将进入变量编辑器。通过变量编辑器可以直接观 察变量中的具体元素,也可修改变量中的具体元素。 察变量中的具体元素,也可修改变量中的具体元素。
第2章 MATLAB矩阵及其运算第二次

x为标量。 A^3=A*A*A
2.点运算(重要)
在MATLAB中,有一种特殊的运算,其运算
符是在有关算术运算符前面加点,叫点运算。
点运算符有.*、./、.\和.^。 点运算运算规则:两矩阵对应元素进行相关运算, 要求两矩阵的维参数相同。 A=[2,2;2,2];
B=[2,2;1,1];
A.*B;A./B;B.\A; A.^B;
例2-9 建立矩阵A,然后找出大于4的元素的位置。
(1) 建立矩阵A。 A=[4,-65,-54,0,6;56,0,67,-45,0];
(2) 找出大于4的元素的位置。
k=find(A>4) %找元素序号 A(k)
2.4 矩阵分析
2.4.1 对角阵与三角阵 1.对角阵 只有对角线上有非0元素的矩阵称为对角矩阵,
revch=ch(end:-1:1) k=find(ch>=‘a’ &ch<=‘z’ ); ch(k)=ch(k)-(‘a’ -‘A’ ); 应的大写字母? char(ch)
运算。 运算规则:A和B矩阵内的相应位置(下标相同) 的元素相加减。注意:A和B矩阵的维数相同。 (如果A与B的维数不相同,则MATLAB将给出错
误信息,提示用户两个矩阵的维数不匹配。)
标量可以和矩阵进行加减运算,标量与矩阵内 每一元素相加减。A+b=b+A
(2) 矩阵乘法 两个矩阵A和B,矩阵相乘A*B。 运算规则:线性代数?
例2-13 建立一个字符串向量,然后对该向量做如下
处理: (1) 取第1~5个字符组成的子字符串。
(2) 将字符串倒过来重新排列。
(3) 将字符串中的小写字母变成相应的大写字母, 其余字符不变。 (4) 统计字符串中小写字母的个数。
MATLAB基础教程 第2章 数组、矩阵及其运算

写出MATLAB表达式。 解:根据MATLAB的书写规则,以上MATLAB表达式为: (1)y=1/(a*log(1-x-1)+C1) (2)f=2*log(t)*exp(t)*sqrt(pi) (3)z=sin(abs(x)+abs(y))/sqrt(cos(abs(x+y))) (4)F=z/(z-exp(T*log(8)))
命令:X(3:-1:1)
命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.1 数组(矩阵)的创建和寻访
2. 二维数组的创建和寻访
例2-3 综合练习。将教材P.31~P.44的实例按顺序在MATLAB的 command窗口中练习一遍,观察并体会其输出结果。 (注意变量的大小写要和教材上的严格一致。)
A./B
B.\A
A的元素被B的对应元素相除
(与上相同)
第二章 数组、矩阵及其运算
2.3 数组、矩阵的其他运算
1. 乘方开方运算
数组的乘方运算与power函数 格式:c=a.^k或c=power(a,k) 例如: >> g=[1 2 3;4 5 6] >>g.^2 矩阵的乘方运算与mpower函数 格式:C=A^P或C=mpower(A,P) 注意:A必须为方阵
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的加法、减法
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算, A和B矩阵的相应元素相加减。如果维数不相同,则MATLAB将给出
出错信息。
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的乘法
Matlab程序设计第2章矩阵及其运算
2.2.2 创建二维数组 方法2:用函数生成特殊矩阵
函数 zeros (全零阵) 格式 B = zeros(n) B = zeros(m,n) 函数 ones (全1阵) 格式 B = ones(n) B = ones(m,n) 函数 eye(单位矩阵) 格式 B = eye(n) B = eye(m,n) %生成n×n全零阵 %生成m×n全零阵
2.2.4二维数组的寻访与赋值
判断数组维数和大小 1) 判断数组维数的指令:ndims 2) 判断数组大小的指令:size 例如:上例中数组A的维数和大小分别为
>> An=ndims(A), As=size(A) An = 2 As = 3 3
表示数组A大小的行数组的长度 (As的长度) 等于数组A的 维数 (An),length(As)=An 数组A的长度指最长维的长度:length(A)=max(As)。
注意: 1) 子数组寻访取决于 x ( index )中的下标index。 2) 下标 index 可以是单个数值或数组,但是 index 的元素取 值必须在 [ 1 , end ] 的范围内。end 为数组最大下标。 3) 子数组赋值时,注意被赋值的子数组长度与送入的数组长 度一致。
2.2.4二维数组的寻访与赋值
%生成n×n全1阵 %生成m×n全1阵 %生成n×n单位阵 %生成m×n单位阵
2.2.2 创建二维数组 方法2:用函数生成特殊矩阵
函数 randn 格式 y = randn(n) y = randn(m,n) %生成n×n正态分布随机矩阵 %生成m×n正态分布随机矩阵
产生均值为0.6,方差为0.1的4阶矩阵 >> mu=0.6; sigma=0.1; >> x=mu+sqrt(sigma)*randn(4) x= 0.8311 0.7799 0.1335 1.0565 0.7827 0.5192 0.5260 0.4890 0.6127 0.4806 0.6375 0.7971 0.8141 0.5064 0.6996 0.8527
第2章 MATLAB矩阵及其运算
ASCII格式处理,省略该选项时文件将以二进制格式处理。 save命令中的-append选项控制将变量追加到MAT文件中。 假设li1.mat已经存入变量b >> save li1 e -append >> save li1 e
>> load li1 b
workspace显示b
>> load li1 b
运算只是一种特例。
(1) 矩阵加减运算 假定有两个矩阵A和B,则可以由A+B和A-B实现 矩阵的加减运算。
运算规则是:
A和B矩阵的维数相同,执行矩阵的加减运算,A和B
矩阵的相应元素相加减
A与B的维数不相同,MATLAB将给出错误信息,提
示用户两个矩阵的维数不匹配。
(2) 矩阵乘法
假定有两个矩阵A和B,若A为m×n矩阵,B为 n×p矩阵,则C=A*B为m×p矩阵。
>> c=[1 2 3;4 5 6] >> sub2ind(size(c),1,3) ans = 5 >> [a,b]=ind2sub(size(c),4) a=
2 b= 2
2.矩阵拆分
(1) 利用冒号表达式获得子矩阵
① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A 矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j 列的元素。 ② A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;
关系成立,关系表达式结果为1,否则为0。
(2) 比较量是两个维数相同的矩阵:对两矩阵相同位置的元
素按标量关系运算规则逐个进行,并给出元素比较结果。
最终的关系运算的结果是一个维数与原矩阵相同的矩 阵,它的元素由0或1组成。
>> load li1 b
workspace显示b
>> load li1 b
运算只是一种特例。
(1) 矩阵加减运算 假定有两个矩阵A和B,则可以由A+B和A-B实现 矩阵的加减运算。
运算规则是:
A和B矩阵的维数相同,执行矩阵的加减运算,A和B
矩阵的相应元素相加减
A与B的维数不相同,MATLAB将给出错误信息,提
示用户两个矩阵的维数不匹配。
(2) 矩阵乘法
假定有两个矩阵A和B,若A为m×n矩阵,B为 n×p矩阵,则C=A*B为m×p矩阵。
>> c=[1 2 3;4 5 6] >> sub2ind(size(c),1,3) ans = 5 >> [a,b]=ind2sub(size(c),4) a=
2 b= 2
2.矩阵拆分
(1) 利用冒号表达式获得子矩阵
① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A 矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j 列的元素。 ② A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;
关系成立,关系表达式结果为1,否则为0。
(2) 比较量是两个维数相同的矩阵:对两矩阵相同位置的元
素按标量关系运算规则逐个进行,并给出元素比较结果。
最终的关系运算的结果是一个维数与原矩阵相同的矩 阵,它的元素由0或1组成。
第2章 MATLAB矩阵及其运算
>>v=eye(3,4)↙ ↙ v= 1 0 0 0 0 1 0 0 0 0 1 0 >>x=rand(1,3)↙ ↙ x= 0.2311 0.8913
对角线为1 % 3×4 对角线为1矩阵
%1×3 (0,1) 均匀分布随机矩阵 0.0185
标准正态分布矩阵randn(m,n) randn(m,n), 还有m×n标准正态分布矩阵randn(m,n),n阶希尔伯特 矩阵hilb(n) hilb(n), 阶幻方矩阵magic(n) magic(n)等 矩阵hilb(n),n阶幻方矩阵magic(n)等。
2.2.2 数组的运算
. * 乘法; . ^ 乘幂; . \ 左除; . / 右除。 乘法; 乘幂; 左除; 右除。 注意:数组运算是对应元素的运算。 注意:数组运算是对应元素的运算。 输入: 例: 输入: >>f=a./b,g=a.\b↙ , ↙ 运行后输出: 运行后输出: f=1.0000 0.6667 0.6000 0.5714 g=1.0000 1.5000 1.6667 1.7500
方法三 用 “:”方式输入
>>b=1:2:7↙ ↙ %从1到7公差为 的等差数组,如果输入 公差为2的等差数组 从 到 公差为 的等差数组, b=1:2:8,得到同样结果。 得到同样结果。 得到同样结果 b = 1 3 5 7 >>a=1:5↙ %从1到5公差为 的等差数组。 ↙ 公差为1的等差数组 从 到 公差为 的等差数组。 a = 1 2 3 4 5 >>c=6:-3:-6↙ ↙ c= 6 3 %从6到-6公差为 的等差数组。 从 到 公差为 的等差数组。 公差为-3的等差数组 0 -3 -6
方式输入, 方法二 用函数 linspace(a,b,n)方式输入,生 方式输入 个数值的等差数组,公差不必给出。 成从a到b共n个数值的等差数组,公差不必给出。
matlab第二章矩阵运算基础
矩阵A的内容。
矩阵的表示方法
01
02
03
文字表示法
使用中括号[]将矩阵元素 括起来,元素之间用逗号 或空格分隔,行与行之间 用分号隔开。
符号表示法
使用符号“”将矩阵元素 括起来,例如 A=[abc;def;ghi]。
分块表示法
将一个大的矩阵分成若干 个小矩阵,每个小矩阵称 为该大矩阵的一个子块。
02
04
矩阵分解与线性方程组求 解
矩阵的LU分解
LU分解
LU分解是一种将一个矩阵 分解为一个下三角矩阵L和 一个上三角矩阵U的乘积 的方法。
算法步骤
将给定矩阵A进行LU分解, 得到L和U两个矩阵,满足 A=LU。
应用场景
LU分解在许多数值计算问 题中都有应用,如线性方 程组求解、矩阵求逆等。
矩阵的QR分解
例如,`E = rand(3,3)`创建一个3x3的随机矩阵,所有元素 都是0到1之间的随机数。
矩阵的输入与
使用键盘输入:在Matlab命令 窗口中,可以直接输入矩阵并按
Enter键。
使用文件输入:可以使用`load` 函数从文件中读取矩阵数据,例
如`load('filename.mat')`。
使用`disp`、`fprintf`等函数输 出矩阵:例如,`disp(A)`会显示
迭代法适用于系数矩阵不可逆或系 数矩阵为稀疏矩阵的情况。
05
矩阵的应用实例
在控制系统中的应用
线性系统建模
利用矩阵表示线性系统的状态方程、输出方程等, 便于分析和设计控制系统。
控制系统分析
通过矩阵运算,可以对控制系统进行稳定性分析、 时域和频域分析等。
控制算法实现
利用矩阵运算实现控制算法,如PID控制、状态反 馈控制等。
矩阵的表示方法
01
02
03
文字表示法
使用中括号[]将矩阵元素 括起来,元素之间用逗号 或空格分隔,行与行之间 用分号隔开。
符号表示法
使用符号“”将矩阵元素 括起来,例如 A=[abc;def;ghi]。
分块表示法
将一个大的矩阵分成若干 个小矩阵,每个小矩阵称 为该大矩阵的一个子块。
02
04
矩阵分解与线性方程组求 解
矩阵的LU分解
LU分解
LU分解是一种将一个矩阵 分解为一个下三角矩阵L和 一个上三角矩阵U的乘积 的方法。
算法步骤
将给定矩阵A进行LU分解, 得到L和U两个矩阵,满足 A=LU。
应用场景
LU分解在许多数值计算问 题中都有应用,如线性方 程组求解、矩阵求逆等。
矩阵的QR分解
例如,`E = rand(3,3)`创建一个3x3的随机矩阵,所有元素 都是0到1之间的随机数。
矩阵的输入与
使用键盘输入:在Matlab命令 窗口中,可以直接输入矩阵并按
Enter键。
使用文件输入:可以使用`load` 函数从文件中读取矩阵数据,例
如`load('filename.mat')`。
使用`disp`、`fprintf`等函数输 出矩阵:例如,`disp(A)`会显示
迭代法适用于系数矩阵不可逆或系 数矩阵为稀疏矩阵的情况。
05
矩阵的应用实例
在控制系统中的应用
线性系统建模
利用矩阵表示线性系统的状态方程、输出方程等, 便于分析和设计控制系统。
控制系统分析
通过矩阵运算,可以对控制系统进行稳定性分析、 时域和频域分析等。
控制算法实现
利用矩阵运算实现控制算法,如PID控制、状态反 馈控制等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016/10/30
理学院 施三支
2.7 结构数据和单元数据
2.7.1 结构数据
MATLAB使用结构数据类型把一组不同类 型但同时又是在逻辑上相关的数据组成一个 有机的整体,以便管理和引用。 比如,要存储学生基本情况数据就可采用结 构数据。
2016/10/30
理学院 施三支
1.结构矩阵的建立与引用
V
2
2 v i i 1
n
(2) 1—范数 (3) ∞—范数
2016/10/30
V
1
v
i 1
n
i
V
max v i
1 i n
理学院 施三支
1.向量的3种常用范数及其计算函数
MATLAB中,求向量范数的函数为: (1) norm(V)或norm(V,2):计算向量V的2— 范数。 (2) norm(V,1):计算向量V的1—范数。 (3) norm(V,inf):计算向量V的∞—范数。
2.矩阵的伪逆
如果矩阵A不是一个方阵,或者A是一个非 满秩的方阵时,矩阵A没有逆矩阵,但可以 找到一个与A的转置矩阵A'同型的矩阵B, 使得: A· B· A=A B· A· B=B 此时称矩阵B为矩阵A的伪逆,也称为广义 逆矩阵。在MATLAB中,求一个矩阵伪逆 的函数是pinv(A)。(pseudo inverse)
V 1
2
V 1
1,其中 1 为A'A最大特征值
A max A V
n max aij 1i m j 1
MATLAB提供了求3种矩阵范数的函数,其函 数调用格式与求向量的范数的函数完全相同。
2016/10/30 理学院 施三支
2.4.7 矩阵的条件数
2016/10/30 理学院 施三支
2.4.8 矩阵的特征值与特征向量
在MATLAB中,计算矩阵A的特征值 (eigenvalue)和特征向量(eigenvector)的函数是 eig(A),常用的调用格式有3种: (1) E=eig(A):求矩阵A的全部特征值,构成 向量E。 (2) [V,D]=eig(A):求矩阵A的全部特征值构成 对角阵D,并求A的特征向量构成V的列向量。
2.矩阵的迹
矩阵的迹等于矩阵的对角线元素之和,也 等于矩阵的特征值之和。在MATLAB中, 求矩阵的迹的函数是trace(A)。
2016/10/30
理学院 施三支
2.4.6 向量和矩阵的范数
矩阵或向量的范数用来度量矩阵或向量在某 种意义下的长度。范数有多种方法定义,其 定义不同,范数值也就不同。 向量 V (v1, v2 ,, vn ) 的范数: (1) 2—范数
2.矩阵对数logm
logm(A)计算矩阵A的自然对数。此函数输 入参数的条件与输出结果间的关系和函数 sqrtm(A)完全一样
2016/10/30 理学院 施三支
3.矩阵指数expm
expm(A) 的功能是求矩阵指数eA。它与矩阵 对数是互逆的。
4.通用矩阵函数funm funm(A, 'fun')用来计算直接作用于矩阵A的
如果A· B=B· A=I ,则称B为A的逆矩阵,或A 是B的逆矩阵。 求一个矩阵的逆是一件非常烦琐的工作,容 易出错,但在MATLAB中,求一个矩阵的逆 非常容易。求方阵A的逆矩阵可调用函数 inv(A)。 例2.11 用求逆矩阵的方法解线性方程组Ax=b 其解为:x=A-1b
2016/10/30 理学院 施三支
2.矩阵的范数及其计算函数
设A是一个m×n的矩阵,V是n维列向量,定义
A max A V , V 1
2016/10/30 理学院 施三支
则有
A 1 max A V
V 1
1
m max aij 1 j n i 1
A 2 max A V
2016/10/30 理学院 施三支
2.4.4 方阵的行列式
把一个方阵看作一个行列式,并对其按行 列式的规则求值,这个值就称为矩阵所对 应的行列式的值。 在MATLAB中,求方阵A所对应的行列式 的值的函数是det(A)。
2016/10/30
理学院 施三支
2.4.5 矩阵的秩与迹
1.矩阵的秩
矩阵线性无关的行数与列数称为矩阵的秩。 在MATLAB中,求矩阵秩的函数是rank(A)。
矩阵A的条件数等于A的范数与A的逆的范数 的乘积。 在MATLAB中,计算矩阵A的3种条件数的 函数是: (1) cond(A)或cond(A,2) 计算A的2—范数下 的条件数。 (2) cond(A,1) 计算A的1—范数数下的条件 数。 (3) cond(A,inf) 计算A的 ∞—范数下的条件 数。
2016/10/30 理学院 施三支
2.4.2 矩阵的转置与旋转
1.矩阵的转置
转置运算符是单撇号(')。如a=[1,2;3,4];b=a' b= 1 2 3 4
2.矩阵的旋转
利用函数rot90(A,k)将矩阵A旋转90º 的k倍, 当k为1时可省略。
2016/10/30 理学院 施三支
3.矩阵的左右翻转
解:ch='ABc123d4e56Fg9'; subch=ch(1:5) %取子字符串 revch=ch(end:-1:1) %将字符串倒排 k=find(ch>='a'&ch<='z'); %找小写字母 的位置 ch(k)=ch(k)-('a'-'A'); %将小写字母变 成相应的大写字母 char(ch) length(k) %统计小写字母的个数
结构矩阵的元素可以是不同的数据类型,它能 将一组具有不同属性的数据纳入到一个统一 的变量名下进行管理。建立一个结构矩阵可 采用给结构成员赋值的办法。具体格式为 结构矩阵名.成员名=表达式 其中表达式应理解为矩阵表达式。 例如,建立一个含有3个元素的结构矩阵a:
a(1).x1=10;a(1).x2='liu';a(1).x3=[11,21;34,78]; a(2).x1=12;a(2).x2='wang';a(2).x3=[34,191;27,578]; a(3).x1=14;a(3).x2='cai';a(3).x3=[13,890;67,231];
2016/10/30 理学院 施三支
第2讲 MATLAB矩阵及其运算 (续)
2.4 2.5 2.6 2.7
2016/10/30
矩阵分析 矩阵的超越函数 字符串 结构数据和单元数据
理学院 施三支பைடு நூலகம்
2.4 矩阵分析
2.4.1 对角阵与三角阵
1.对角阵
只有对角线上有非0元素的矩阵称为对 角矩阵,对角线上的元素相等的对角矩阵 称为数量矩阵,对角线上的元素都为1的对 角矩阵称为单位矩阵。
2016/10/30
理学院 施三支
(1) 提取矩阵的对角线元素 设A为m×n矩阵,diag(A)函数用于提取矩阵 A主对角线元素,产生一个具有min(m,n)个 元素的列向量。 diag(A)函数还有一种形式diag(A,k),其功能 是提取第k条对角线的元素(k为整数)。 (2) 构造对角矩阵 设V为具有m个元素的向量,diag(V)将产生 一个m×m对角矩阵,其主对角线元素即为 向量V的元素。 diag(V)函数也有另一种形式diag(V,k),其功 能是产生一个n×n(n=m+|k|)对角阵,其第k 条对角线的元素即为向量V的元素。
对矩阵实施左右翻转是将原矩阵的第一列 和最后一列调换,第二列和倒数第二列调 换,…,依次类推。MATLAB对矩阵A实 施左右翻转的函数是fliplr(A)。
4.矩阵的上下翻转
MATLAB对矩阵A实施上下翻转的函数是 flipud(A)。
理学院 施三支
2016/10/30
2.4.3 矩阵的逆与伪逆
1.矩阵的逆
2016/10/30 理学院 施三支
注意:结构矩阵元素的成员也可以是结构数 据。 引用结构矩阵元素的成员时,显示其值; 引用结构矩阵元素时,显示成员名和它的 值,但成员是矩阵时,不显示具体内容, 只显示成员矩阵大小参数; 引用结构矩阵时,只显示结构矩阵大小参 数和成员名。
2016/10/30 理学院 施三支
2016/10/30 理学院 施三支
例2.10 先建立5×5矩阵A,然后将A的第一行 元素乘以1,第二行乘以2,…,第五行乘 以 5。 解:A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22; ... 10,12,19,21,3;11,18,25,2,19]; D=diag(1:5); D*A %用D左乘A,对A的每行乘 以一个指定常数
2016/10/30 理学院 施三支
例2.13 建立一个字符串向量,然后对该向量 做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写 字母,其余字符不变。 (4) 统计字符串中小写字母的个数。
2016/10/30
理学院 施三支
2.1837 1.0000 + 1.0000i 1.0000 - 1.0000i -0.9252 + 0.7197i -0.9252 - 0.7197i x2=roots(p) %直接求多项式p的零点
2016/10/30 理学院 施三支
2.5 矩阵的超越函数
1.矩阵平方根sqrtm
sqrtm(A)计算矩阵A的平方根。
由‘fun’定义的函数的矩阵函数值。例如, 当fun取sqrt时,funm(A, 'sqrt')可以计算矩 阵A的平方根,与sqrtm(A)的计算结果一样。