matlab中的矩阵的基本运算命令范文
【精选】数学实验一矩阵运算与Matlab命令24

运行
17
矩阵的运算(矩阵的加减、数乘、乘积)
C=A1+B1 D=A1-B1 syms c, cA=c*A1 A2=A1(:,1:3), B1 G=A2*B1
18
矩阵的运算(矩阵的加减、数乘、乘积)
求解方程组Ax=b x=A\b 若A为可逆方阵, 输出原方程的解x; 若A为nxm(n>m)阵, 且A’A可逆,输出
原方程的最小二乘解x.
21
矩阵的运算(求解线性方程组)
求矩阵方程:
设A、B满足关系式:AB=2B+A,求B。 其中A=[3 0 1; 1 1 0; 0 1 4]。
取出A的1、3行和1、3列的交叉处元素 构成新矩阵A1
程序
A=[1 0 1 1 2;0 1 -1 2 3;
3 0 5 1 0;2 3 1 2 1],
vr=[1, 3];vc=[1, 3];
A1=A(vr, vc)
观察结果
26
分块矩阵(矩阵的标识)
将A分为四块,并把它们赋值到矩阵B 中,观察运行后的结果。
3
2
2
35 20 60 45
, B 10
15
50
40
20 12 45 20
将 表 格 写 成 矩 阵 形 式
6
计算
输入下面Matlab指令 A=[4 2 3;1 3 2;1 3 3;3 2 2], B=[35 20 60 45;10 15 50 40;20
3 0 5 1 0;2 3 1 2 1]
矩阵在matlab中的基本命令

一、矩阵的表示在MATLAB中创建矩阵有以下规则:a、矩阵元素必须在”[ ]”内;b、矩阵的同行元素之间用空格(或”,”)隔开;c、矩阵的行与行之间用”;”(或回车符)隔开;d、矩阵的元素可以是数值、变量、表达式或函数;e、矩阵的尺寸不必预先定义。
二,矩阵的创建:1、直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。
建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。
还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
2、利用MATLAB函数创建矩阵基本矩阵函数如下:(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n 维的全1矩阵;(2) zeros()函数:产生全为0的矩阵;(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;(4) eye()函数:产生单位阵;(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。
3、利用文件建立矩阵当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。
同时可以利用命令reshape对调入的矩阵进行重排。
reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。
二、矩阵的简单操作1.获取矩阵元素可以通过下标(行列索引)引用矩阵的元素,如Matrix(m,n)。
也可以采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。
在MATLAB中,矩阵元素按列存储。
序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
matlab行列式运算的命令

matlab行列式运算的命令Matlab是一种功能强大的数值计算和科学计算软件,可以进行各种矩阵和行列式运算。
在本文中,我们将介绍一些常用的Matlab命令,用于进行行列式运算。
一、计算行列式的值在Matlab中,可以使用det()函数来计算一个矩阵的行列式值。
该函数的语法为:det(A)其中,A表示待计算行列式的矩阵。
下面是一个示例:A = [1 2; 3 4];d = det(A);这段代码将计算一个2×2矩阵A的行列式的值,并将结果保存在变量d中。
二、计算矩阵的逆逆矩阵是指对于一个n×n的矩阵A,存在一个n×n的矩阵B,使得A×B = B×A = I,其中I是单位矩阵。
在Matlab中,可以使用inv()函数来计算矩阵的逆。
该函数的语法为:B = inv(A)其中,A表示待计算逆矩阵的矩阵,B表示计算得到的逆矩阵。
下面是一个示例:A = [1 2; 3 4];B = inv(A);这段代码将计算一个2×2矩阵A的逆矩阵,并将结果保存在变量B 中。
需要注意的是,不是所有的矩阵都有逆矩阵。
如果一个矩阵没有逆矩阵,那么在Matlab中计算逆矩阵时会出现错误。
三、计算矩阵的转置矩阵的转置是指将矩阵的行和列进行交换得到的新矩阵。
在Matlab 中,可以使用transpose()函数或者'运算符来计算矩阵的转置。
下面是一个示例:A = [1 2 3; 4 5 6];B = transpose(A);C = A';这段代码将计算一个3×2矩阵A的转置,并将结果分别保存在变量B和C中。
四、计算矩阵的秩矩阵的秩是指矩阵中线性无关的行或列的最大个数。
在Matlab中,可以使用rank()函数来计算矩阵的秩。
该函数的语法为:r = rank(A)其中,A表示待计算秩的矩阵,r表示计算得到的秩。
下面是一个示例:A = [1 2 3; 4 5 6; 7 8 9];r = rank(A);这段代码将计算一个3×3矩阵A的秩,并将结果保存在变量r中。
MATLAB矩阵及运算

点乘——元素对元素乘法 叉乘——矩阵对矩阵乘法
对比举例
矩阵的右除、左除
MATLAB的基本处理单元是复数矩阵(标量是一 个1*1的矩阵)。而在《线性代数》理论中没有除 法运算。所以定义了除法为乘法的逆运算。
注意:因为矩阵乘法不满足交换律,即一般 A*B≠B*A,所以除法要考虑“右除”、“左 除”。
2.1.2 变量
变量的命名规则: 1)变量名、函数名对字母的大、小写敏感。 2)变量名由字母、数字和下划线构成。第一个
字母必须是英文字母。 3)有字符个数限制(版本5.0 :最多31个字符)
2.1.2 变量
MATLAB系统默认变量
重点
(注意大小写!)
i或j:
虚单元 正确:5+7j 错误:5+j7
2.1表达式
表达式 (即语句):将变量、数值、函数 用操作符连接起来,就构成了表达式 。
例如:a=(10j+sqrt(10))/2; %注释 ☆行末的“;”用于抑制结果在屏幕上显示
例如: sin(a),sin(b) ,a+b ☆同在一行的表达式,必须用“,”分开
2.2 矩阵的产生与操作
矩阵的产生:
A./Baa31//b b1 3
a2/b2 a4/b4
B.\A
A.\Bbb31//aa13 bb42//aa42B./A
分析:
K/N=K*inv(N)
因为N不是方阵,没有逆 阵,所以报告错误。
K\N=inv(K)*N
因为K的逆阵尺寸2×2, N的尺寸2×3,所以结 果矩阵2×3。
矩阵元素的指数运算
这种战略取得了成功:使人们不在编程细节上化 精力,把注意力集中到科学计算的方法和建模合理性等 大问题上。
如何使用Matlab进行矩阵运算

如何使用Matlab进行矩阵运算随着科学技术的不断发展,矩阵运算在各个领域的应用日益广泛。
Matlab作为一款功能强大的数学软件,其矩阵运算能力非常强大。
本文将介绍如何使用Matlab进行矩阵运算,希望能对读者在科学研究和工程实践中的矩阵计算有所帮助。
一、Matlab的基本矩阵运算1. 创建矩阵在Matlab中,可以使用一对方括号`[]`来创建矩阵。
例如,要创建一个3行3列的矩阵A,可以使用如下命令:A = [1 2 3; 4 5 6; 7 8 9]。
这样就创建了一个元素分别为1到9的3行3列矩阵。
2. 矩阵加法和减法Matlab中可以使用加号和减号来进行矩阵的加法和减法运算。
例如,要计算矩阵A和B的和,可以使用命令C = A + B;要计算矩阵A和B的差,可以使用命令D = A - B。
3. 矩阵乘法Matlab中使用乘号`*`来进行矩阵的乘法运算。
例如,要计算矩阵A和B的乘积,可以使用命令C = A * B。
需要注意的是,矩阵乘法是满足结合律的,即A *(B * C) = (A * B) * C。
4. 矩阵转置在Matlab中,可以使用单引号`'`来对矩阵进行转置操作。
例如,对矩阵A进行转置,可以使用命令B = A'。
需要注意的是,转置操作只能应用于二维矩阵。
5. 求逆矩阵在Matlab中,可以使用inv函数来求解矩阵的逆矩阵。
例如,要求矩阵A的逆矩阵,可以使用命令B = inv(A)。
需要注意的是,只有方阵才有逆矩阵。
6. 矩阵的特征值和特征向量Matlab中可以使用eig函数来求解矩阵的特征值和特征向量。
例如,要求矩阵A的特征值和特征向量,可以使用命令[V,D] = eig(A),其中V为特征向量矩阵,D 为特征值对角矩阵。
二、Matlab的高级矩阵运算1. 矩阵的点乘和叉乘Matlab中使用.*和.^来进行矩阵的点乘和叉乘运算。
例如,要计算矩阵A和B 的点乘,可以使用命令C = A .* B;要计算矩阵A和B的叉乘,可以使用命令D =A .^ B。
matlab矩阵运算实验报告

matlab矩阵运算实验报告Matlab矩阵运算实验报告一、引言矩阵运算是数学和工程领域中的重要概念之一,它在各个领域中都有广泛的应用。
Matlab作为一种强大的数学软件工具,提供了丰富的矩阵运算功能,可以帮助我们进行高效的数值计算和数据处理。
本实验报告将介绍Matlab中的矩阵运算功能,并通过实例展示其在实际问题中的应用。
二、矩阵运算的基本概念矩阵是由若干个数按照行和列排列形成的一个矩形阵列,它是线性代数中的基本工具。
在Matlab中,矩阵可以通过直接输入数值或使用内置函数生成。
矩阵运算包括加法、减法、乘法、转置等操作,这些操作可以对矩阵的每个元素进行运算,也可以对整个矩阵进行运算。
三、矩阵运算的实例分析1. 矩阵的创建与赋值在Matlab中,可以使用以下命令创建一个矩阵,并对其进行赋值操作:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这样就创建了一个3行3列的矩阵A,并对其进行了赋值。
可以通过输入A来查看矩阵A的内容。
2. 矩阵的加法与减法矩阵的加法和减法是按照对应元素进行运算的。
例如,对于两个3行3列的矩阵A和B,可以使用以下命令进行加法运算:C = A + B;同样地,可以使用以下命令进行减法运算:D = A - B;这样就得到了矩阵C和D。
3. 矩阵的乘法矩阵的乘法是按照行乘以列的方式进行的。
例如,对于一个3行2列的矩阵A和一个2行4列的矩阵B,可以使用以下命令进行乘法运算:C = A * B;这样就得到了一个3行4列的矩阵C。
4. 矩阵的转置矩阵的转置是将矩阵的行和列进行交换的操作。
例如,对于一个3行2列的矩阵A,可以使用以下命令进行转置操作:B = A';这样就得到了一个2行3列的矩阵B。
四、矩阵运算的应用实例矩阵运算在实际问题中有着广泛的应用。
以下是一个简单的实例,通过矩阵运算来解决线性方程组的问题。
假设有一个线性方程组:2x + y = 4x + 3y = 6可以将其表示为矩阵形式:A = [2, 1; 1, 3];B = [4; 6];通过矩阵运算可以求解出未知数x和y的值:X = A \ B;这样就得到了未知数x和y的值。
Matlab 矩阵的运算

(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矩阵。
关系运算符的运算法则为: (1) 当两个比较量是标量时,直接比较两 数的大小。若关系成立,关系表达式结果为1, 否则为0。 (2) 当参与比较的量是两个维数相同的矩 阵时,比较是对两矩阵相同位置的元素按标 量关系运算规则逐个进行,并给出元素比较 结果。最终的关系运算的结果是一个维数与 原矩阵相同的矩阵,它的元素由0或1组成。
例3-3 先建立 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的每行 乘以一个指定常数
3.3 字符串
在MATLAB中,字符串是用单撇号(‘)括 起来的字符序列。 MATLAB 将字符串当作一个行向量, 每个元素对应一个字符,其标识方法和数值 向量相同。也可以建立多行字符串矩阵。
字符串是以ASCII码形式存储的。abs和 double函数都可以用来获取字符串矩阵所对 应的ASCII码数值矩阵。 相反,char函数可以把ASCII码矩阵转换 为字符串矩阵。
3.2.4 方阵的行列式
把一个方阵看作一个行列式,并对其按 行列式的规则求值,这个值就称为矩阵所对 应的行列式的值。 在MATLAB中,求方阵A所对应的行列 式的值的函数是det(A)。
matlab m行n列的矩阵定义

matlab m行n列的矩阵定义全文共四篇示例,供读者参考第一篇示例:在MATLAB中,矩阵是一种非常重要的数据结构,它由m行n列的元素组成,可以存储各种数值类型的数据,并且支持各种数学运算。
在本文中,我们将详细介绍如何在MATLAB中定义m行n列的矩阵。
要定义一个m行n列的矩阵,我们可以使用MATLAB中的矩阵赋值语法。
要定义一个3行4列的矩阵,我们可以这样做:```matlabA = [1, 2, 3, 4; 5, 6, 7, 8; 9, 10, 11, 12];```在这个例子中,我们定义了一个3行4列的矩阵A,其中的每个元素都是一个整数。
在MATLAB中,矩阵的行和列是以分号和逗号来分隔的,分号表示行的结束,逗号表示列的分隔。
```matlabB = zeros(3, 4);```这样就创建了一个3行4列的全零矩阵B。
同样,我们也可以使用ones函数来创建一个全一矩阵:这样就创建了一个3行4列的全一矩阵C。
除了全零矩阵和全一矩阵外,MATLAB还提供了一些其他常用的内置函数来创建特定类型的矩阵,比如eye函数用来创建单位矩阵、rand函数用来创建随机矩阵等。
除了使用内置函数来创建矩阵外,我们还可以通过矩阵运算来生成新的矩阵。
我们可以将两个矩阵相加来生成一个新的矩阵:这样就生成了一个新的3行4列的矩阵D,其中的每个元素都是对应位置上两个矩阵元素的和。
类似地,我们还可以进行矩阵的减法、乘法、除法等运算。
在MATLAB中,矩阵的定义和操作是非常灵活和方便的。
我们可以通过矩阵赋值语法、内置函数、矩阵运算等多种方法来定义和操作矩阵,从而满足不同的需求。
希望本文对您了解如何在MATLAB中定义m行n列的矩阵有所帮助。
如果您有任何疑问或意见,欢迎在下方留言讨论。
第二篇示例:MATLAB是一门强大的科学计算软件,可以用于处理和分析各种数学问题。
在MATLAB中,矩阵是一种非常常见且重要的数据结构,可以用来存储和处理多维数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 矩阵的表示1.2 矩阵运算1.2.14 特殊运算1.矩阵对角线元素的抽取函数diag格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。
X = diag(v) %以v为主对角线元素,其余元素为0构成X。
v = diag(X,k) %抽取X的第k条对角线元素构成向量v。
k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。
v = diag(X) %抽取主对角线元素构成向量v。
2.上三角阵和下三角阵的抽取函数tril %取下三角部分格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵LL = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。
函数triu %取上三角部分格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵UU = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。
3.矩阵的变维矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。
(1)“:”变维(2)Reshape函数变维格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵BB = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×…B = reshape(A,[m n p…]) %同上B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数相同。
(5)复制和平铺矩阵函数repmat格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。
B = repmat(A,[m n]) %与上面一致B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。
1.3 矩阵分解1.3.1 Cholesky分解函数chol格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。
[R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。
1.3.2 LU分解矩阵的三角分解又称LU分解,它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积,即A=LU。
函数lu格式[L,U] = lu(X) %U为上三角阵,L为下三角阵或其变换形式,满足LU=X。
[L,U,P] = lu(X) %U为上三角阵,L为下三角阵,P为单位矩阵的行变换矩阵,满足LU=PX。
1.3.3 QR分解将矩阵A分解成一个正交矩阵与一个上三角矩阵的乘积。
函数qr格式[Q,R] = qr(A) %求得正交矩阵Q和上三角阵R,Q和R满足A=QR。
[Q,R,E] = qr(A) %求得正交矩阵Q和上三角阵R,E为单位矩阵的变换形式,R的对角线元素按大小降序排列,满足AE=QR。
[Q,R] = qr(A,0) %产生矩阵A的“经济大小”分解[Q,R,E] = qr(A,0) %E的作用是使得R的对角线元素降序,且Q*R=A(:, E)。
R = qr(A) %稀疏矩阵A的分解,只产生一个上三角阵R,满足R'*R = A'*A,这种方法计算A'*A时减少了内在数字信息的损耗。
[C,R] = qr(A,b) %用于稀疏最小二乘问题:minimize||Ax-b||的两步解:[C,R] = qr(A,b),x = R\c。
R = qr(A,0) %针对稀疏矩阵A的经济型分解[C,R] = qr(A,b,0) %针对稀疏最小二乘问题的经济型分解函数qrdelete格式[Q,R] = qrdelete(Q,R,j) %返回将矩阵A的第j列移去后的新矩阵的qr分解函数qrinsert格式[Q,R] = qrinsert(Q,R,j,x) %在矩阵A中第j列插入向量x后的新矩阵进行qr分解。
若j大于A的列数,表示在A的最后插入列x。
1.3.6 特征值分解函数eig格式 d = eig(A) %求矩阵A的特征值d,以向量形式存放d。
d = eig(A,B) %A、B为方阵,求广义特征值d,以向量形式存放d。
[V,D] = eig(A) %计算A的特征值对角阵D和特征向量V,使AV=VD成立。
[V,D] = eig(A,'nobalance') %当矩阵A中有与截断误差数量级相差不远的值时,该指令可能更精确。
'nobalance'起误差调节作用。
[V,D] = eig(A,B) %计算广义特征值向量阵V和广义特征值阵D,满足AV=BVD。
[V,D] = eig(A,B,flag) % 由flag指定算法计算特征值D和特征向量V,flag的可能值为:'chol' 表示对B使用Cholesky 分解算法,这里A为对称Hermitian矩阵,B为正定阵。
'qz' 表示使用QZ算法,这里A、B为非对称或非Hermitian矩阵。
说明一般特征值问题是求解方程:解的问题。
广义特征值问题是求方程:解的问题。
1.3.7 奇异值分解函数svd格式s = svd (X) %返回矩阵X的奇异值向量[U,S,V] = svd (X) %返回一个与X同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V'。
若A为m×n阵,则U为m×m阵,V为n×n阵。
奇异值在S的对角线上,非负且按降序排列。
[U,S,V] = svd (X,0) %得到一个“有效大小”的分解,只计算出矩阵U的前n列,矩阵S的大小为n×n。
1.4 线性方程的组的求解我们将线性方程的求解分为两类:一类是方程组求唯一解或求特解,另一类是方程组求无穷解即通解。
可以通过系数矩阵的秩来判断:若系数矩阵的秩r=n(n为方程组中未知变量的个数),则有唯一解;若系数矩阵的秩r<n,则可能有无穷解;线性方程组的无穷解= 对应齐次方程组的通解+非齐次方程组的一个特解;其特解的求法属于解的第一类问题,通解部分属第二类问题。
1.4.1 求线性方程组的唯一解或特解(第一类问题)这类问题的求法分为两类:一类主要用于解低阶稠密矩阵——直接法;另一类是解大型稀疏矩阵——迭代法。
1.利用矩阵除法求线性方程组的特解(或一个解)方程:AX=b解法:X=A\b2.利用矩阵的LU、QR和cholesky分解求方程组的解(1)LU分解:LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵的基本变换形式(行交换)和上三角矩阵的乘积。
即A=LU,L为下三角阵,U为上三角阵。
则:A*X=b 变成L*U*X=b所以X=U\(L\b) 这样可以大大提高运算速度。
命令[L,U]=lu (A)(2)Cholesky分解若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即:其中R为上三角阵。
方程A*X=b 变成所以(3)QR分解对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形式,即:A=QR方程A*X=b 变形成QRX=b所以X=R\(Q\b)1.4.2 求线性齐次方程组的通解在Matlab中,函数null用来求解零空间,即满足A•X=0的解空间,实际上是求出解空间的一组基(基础解系)。
格式z = null % z的列向量为方程组的正交规范基,满足。
% z的列向量是方程AX=0的有理基1.4.3 求非齐次线性方程组的通解非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。
因此,步骤为:第一步:判断AX=b是否有解,若有解则进行第二步第二步:求AX=b的一个特解第三步:求AX=0的通解第四步:AX=b的通解= AX=0的通解+AX=b的一个特解。
1.6 秩与线性相关性1.6.1 矩阵和向量组的秩以及向量组的线性相关性矩阵A的秩是矩阵A中最高阶非零子式的阶数;向量组的秩通常由该向量组构成的矩阵来计算。
函数rank格式k = rank(A) %返回矩阵A的行(或列)向量中线性无关个数k = rank(A,tol) %tol为给定误差1.6.2 求行阶梯矩阵及向量组的基行阶梯使用初等行变换,矩阵的初等行变换有三条:1.交换两行(第i、第j两行交换)2.第i行的K倍3.第i行的K倍加到第j行上去通过这三条变换可以将矩阵化成行最简形,从而找出列向量组的一个最大无关组,Matlab将矩阵化成行最简形的命令是rref或rrefmovie。
函数rref或rrefmovie格式R = rref(A) %用高斯—约当消元法和行主元法求A的行最简行矩阵R[R,jb] = rref(A) %jb是一个向量,其含义为:r = length(jb)为A的秩;A(:, jb)为A的列向量基;jb中元素表示基向量所在的列。
[R,jb] = rref(A,tol) %tol为指定的精度rrefmovie(A) %给出每一步化简的过程1.7 稀疏矩阵技术1.7.1 稀疏矩阵的创建函数sparse格式S = sparse(A) %将矩阵A转化为稀疏矩阵形式,即由A的非零元素和下标构成稀疏矩阵S。
若A本身为稀疏矩阵,则返回A本身。
S = sparse(m,n) %生成一个m×n的所有元素都是0的稀疏矩阵S = sparse(i,j,s) %生成一个由长度相同的向量i,j和s定义的稀疏矩阵S,其中i,j是整数向量,定义稀疏矩阵的元素位置(i,j),s是一个标量或与i,j长度相同的向量,表示在(i,j)位置上的元素。
S = sparse(i,j,s,m,n) %生成一个m×n的稀疏矩阵,(i,j)对应位置元素为si,m = max(i)且n =max(j)。
S = sparse(i,j,s,m,n,nzmax) %生成一个m×n的含有nzmax个非零元素的稀疏矩阵S,nzmax的值必须大于或者等于向量i和j的长度。
1.7.2 将稀疏矩阵转化为满矩阵函数full格式A=full(S) %S为稀疏矩阵,A为满矩阵。