matlab中矩阵基本运算命令.docx
MATLAB中对矩阵的基本操作
MATLAB中对矩阵的基本操作在MATLAB中,可以对矩阵进行多种基本操作,包括创建矩阵、访问元素、改变矩阵的大小、插入和删除元素、矩阵的运算等。
以下是对这些操作的详细说明:1.创建矩阵:在MATLAB中,可以使用多种方式创建矩阵。
其中最常用的方式是使用方括号将元素排列成行或列,例如:```A=[1,2,3;4,5,6;7,8,9];```这将创建一个3x3的矩阵A,其元素为1到92.访问元素:可以使用括号和下标来访问矩阵中的元素。
下标从1开始计数。
例如,要访问矩阵A的第二行第三列的元素,可以使用以下代码:```A(2,3);```这将返回矩阵A的第二行第三列的元素。
3.改变矩阵的大小:可以使用函数如reshape和resize来改变矩阵的大小。
reshape函数可以将矩阵重新组织为不同的行和列数。
例如,以下代码使用reshape 将3x3的矩阵A重新组织为1x9的矩阵B:```B = reshape(A, 1, 9);```resize函数可以改变矩阵的大小,可以用来增加或减少矩阵的行和列数。
例如,以下代码将矩阵A的大小改变为2x6:```A = resize(A, 2, 6);```4.插入和删除元素:可以使用括号和下标来插入和删除矩阵中的元素。
例如,以下代码会在矩阵A的第二行的末尾插入一个元素10:```A(2, end+1) = 10;```同时,可以使用括号和下标来删除矩阵中的元素。
以下代码将删除矩阵A的第一行的第二个元素:```A(1,2)=[];```这将删除矩阵A的第一行的第二个元素。
5.矩阵的运算:-矩阵乘法:使用*符号进行矩阵乘法运算。
例如,以下代码将矩阵A 与矩阵B相乘:```C=A*B;```-矩阵加法和减法:使用+和-符号进行矩阵加法和减法运算。
例如,以下代码将矩阵A和矩阵B相加得到矩阵C:```C=A+B;```-矩阵转置:使用'符号进行矩阵的转置操作。
例如,以下代码将矩阵A转置:```B=A';```-矩阵相乘:使用.*符号进行矩阵的元素级相乘运算。
matlab矩阵操作基础
稀疏矩阵的操作
稀疏矩阵的创建与存储
稀疏矩阵的定义:只包含少量非零 元素的矩阵
存储方式:使用特殊的数据结构, 如三元组表示法或CSR/CSC格式
添加标题
添加标题
添加标题
添加标题
创建方法:使用sparse函数或直接 赋值
添加项标题
切片与子块提取的语法:A(i,j)或A(i,:)或A(:,j)等,其中A为矩阵 名,i和j为行和列的索引
添加项标题
切片与子块提取的应用:在数据分析、图像处理等领域中广泛应 用
矩阵的元素替换与修改
矩阵元素替换:使 用新的元素替换矩 阵中的旧元素
矩阵元素修改: 直接修改矩阵中 的元素值
索引操作:通过 索引访问和修改 特定位置的元素
存储优势:节省空间,提高计算效 率
稀疏矩阵的基本操作
创建稀疏矩阵:使 用sparse函数创建 稀疏矩阵
访问元素:使用下 标索引访问稀疏矩 阵中的元素
修改元素:使用下 标索引修改稀疏矩 阵中的元素
矩阵运算:进行稀 疏矩阵的加、减、 乘、除等基本运算
稀疏矩阵的应用场景
线性方程组的求解
矩阵运算
数值分析
条件语句:使用条 件语句对矩阵元素 进行筛选和替换
矩阵的函数运算
矩阵的函数运算
矩阵的加法运算 矩阵的减法运算 矩阵的乘法运算 矩阵的转置运算
矩阵的数值积分与微分
数值积分:对矩阵 进行数值积分运算 的方法和步骤
微分运算:对矩阵 进行微分运算的方 法和步骤
应用场景:矩阵的 数值积分与微分在 科学计算、工程等 领域的应用
操作方法:使用'共轭'函数(conj) 矩 阵的逆 矩阵的逆
MATLAB中对矩阵的基本操作
eye 单位矩阵zeros 全零矩阵ones 全1矩阵rand 均匀分布随机阵genmarkov 生成随机Markov矩阵linspace 线性等分向量logspace 对数等分向量logm 矩阵对数运算cumprod 矩阵元素累计乘cumsum 矩阵元素累计和toeplitz Toeplitz矩阵disp 显示矩阵和文字内容length 确定向量的长度size 确定矩阵的维数diag 创建对角矩阵或抽取对角向量find 找出非零元素1的下标matrix 矩阵变维rot90 矩阵逆时针旋转90度sub2ind 全下标转换为单下标tril 抽取下三角阵triu 抽取上三角阵conj 共轭矩阵companion 伴随矩阵det 行列式的值norm 矩阵或向量范数nnz 矩阵中非零元素的个数null 清空向量或矩阵中的某个元素orth 正交基rank 矩阵秩trace 矩阵迹cond 矩阵条件数inv 矩阵的逆rcond 逆矩阵条件数lu LU分解或高斯消元法pinv 伪逆qr QR分解givens Givens变换linsolve 求解线性方程lyap Lyapunov方程hess Hessenberg矩阵poly 特征多项式schur Schur分解expm 矩阵指数expm1 矩阵指数的Pade逼近expm2 用泰勒级数求矩阵指数expm3 通过特征值和特征向量求矩阵指数funm 计算一般矩阵函数logm 矩阵对数sqrtm 矩阵平方根spec 矩阵特征值gspec 矩阵束特征值bdiag 块矩阵,广义特征向量eigenmar- 正则化Markov特征kov 向量pbig 特征空间投影svd 奇异值分解sva 奇异值分解近似cumprod 元素累计积cumsum 元素累计和hist 统计频数直方图max 最大值min 最小值mean 平均值median 中值prod 元素积sort 由大到小排序std 标准差sum 元素和trapz 梯形数值积分corr 求相关系数或方差sparse 稀疏矩阵adj2sp 邻接矩阵转换为稀疏矩阵full 稀疏矩阵转换为全矩阵mtlb_sparse 将scilab稀疏矩阵转换为matlab稀疏矩阵格式sp2adj 将稀疏矩阵转换为邻接矩阵speye 稀疏矩阵方式单位矩阵sprand 稀疏矩阵方式随机矩阵spzeros 稀疏矩阵方式全零阵lufact 稀疏矩阵LU分解lusolve 稀疏矩阵方程求解spchol 稀疏矩阵Cholesky分解矩阵运算:MATLAB的运算都是以矩阵的方式进行矩阵与矩阵的运算+、-:相同维数的矩阵才能进行加减运算.*、./:相同维数的矩阵对应元素的乘除运算*:满足矩阵乘法的规则^:方阵才能进行^的幂次运算矩阵与标量的运算+、-:矩阵各元素都与标量进行加、减*、/:矩阵各元素都与标量进行乘、除矩阵元素标识:如果要得到矩阵中某一元素或者一组元素,可采用以下方法:A(m,n):第m行、第n列的元素A(:,n):第n列的所有元素组成的向量A(m,:):第m行的所有元素元素组成的向量A(m1:m2,n1:n2):从m1行到m2行,以及从n1列到n2列的子矩阵。
matlab里矩阵运算
matlab里矩阵运算
在MATLAB中,矩阵运算是非常方便且强大的。
下面是一些常见的矩阵运算操作:
1. 矩阵相加或相减:
matlab
C = A + B; % 矩阵A和B相加,结果存储在C中
D = A - B; % 矩阵A和B相减,结果存储在D中
2. 矩阵相乘:
matlab
C = A * B; % 矩阵A和B相乘,结果存储在C中
3. 矩阵与标量相乘或相除:
matlab
C = A * scalar; % 矩阵A与标量相乘,结果存储在C中
D = A / scalar; % 矩阵A与标量相除,结果存储在D中
4. 矩阵转置:
matlab
B = A.'; % 矩阵A的转置存储在B中
5. 矩阵求逆:
matlab
B = inv(A); % 矩阵A的逆矩阵存储在B中
6. 矩阵的点乘或点除:
matlab
C = A .* B; % 矩阵A和B对应元素相乘,结果存储在C中
D = A ./ B; % 矩阵A和B对应元素相除,结果存储在D中
这些只是矩阵运算中的一些基本操作,MATLAB还提供了更多高级的矩阵运算函数和工具,如特征值分解、奇异值分解、矩阵乘法、内积、外积等。
您可以进一步研究MATLAB的文档以了解更多相关函数和操作。
matlab矩阵的简单运算
特殊矩阵的实现∙单位阵的生成eye(n)eye(m,n)∙零矩阵的生成zeros(n)zeros(m,n)∙全1矩阵的生成ones(n)ones(m,n)∙随机元素矩阵函数rand(n,m)rand(n)∙对角矩阵diag(V) % V=[1 2 3 4];compan(P) % p=[1,a1,a2,...,an] ∙上三角矩阵下三角矩阵triu(B)tril(B)矩阵函数∙矩阵的行列式det(A)∙矩阵求逆inv(A)pinv(A) 求广义逆,非方阵的情况∙矩阵的迹trace(A)rank(A)∙矩阵三角分解[L,U] = lu(A)∙矩阵奇异值分解cond(A) SVD(A)∙矩阵的范数N = norm(A,选项)∙矩阵的特征多项值与特征向量[V,D]=eig(A)∙矩阵的特征多项式、特征方程和特征根P = poly(A)V = roots(P)------------------------------------------------------------------------------------------------------------------MatLab中的矩阵我们知道,求解线性方程组是线性代数课程中的核心内容,而矩阵又在求解线性方程组的过程中扮演着举足轻重的角色。
下面我们就利用科学计算软件MATLAB来演示如何使用矩阵,同时,也使学生对线性代数的认识更加理性。
一、矩阵的构造在MatLab中,构造矩阵的方法有两种。
一种是直接法,就是通过键盘输入的方式直接构造矩阵。
另一种是利用函数产生矩阵。
例1.利用pascal函数来产生一个矩阵A=pascal(3)A=1 1 11 2 31 3 6例2.利用magic函数来产生一个矩阵B=magic(3)B=8 1 63 5 74 9 2例3.还可以利用函数产生一个4*3的随机矩阵>>c=rand(4,3)c=0.9501 0.8913 0.82140.2311 0.7621 0.44470.6068 0.4565 0.61540.4860 0.0185 0.7919例4.利用直接输入法可产生列矩阵、行矩阵及常数u=[3;1;4]u=314v=[2 0 -1]v=2 0 -1s=7s=7二、矩阵的基本运算1、四则运算例5.矩阵的加法X=A+BX=9 2 74 7 105 12 8例6.矩阵的减法Y=X-AY=8 1 63 5 74 9 2注: 若二个矩阵的大小不完全相同,则会出错!例如,X=A+u??? Error using ==> plusMatrix dimensions must agree。
Matlab矩阵运算基础(数值运算)
6
3.1 矩阵的创建
2、矩阵的创建方法: (1)命令窗口直接输入元素序列创建矩阵。 (2)在M文件中用MATLAB语句创建矩阵。 )在M文件中用MATLAB语句创建矩阵。 (3)通过MATLAB内部函数创建矩阵。 )通过MATLAB内部函数创建矩阵。 (4)通过外部数据文件导入创建矩阵。 (5)冒号法。
10
3.1.3 通过函数创建矩阵
MATLAB中提供了一些内部函数来生成特殊矩 MATLAB中提供了一些内部函数来生成特殊矩 阵如eye生成单位阵,zeros(3) 阵如eye生成单位阵,zeros(3) , rand(2,3) , magic(3)等。 magic(3)等。 常用的生成特殊矩阵的函数将在3.3.1节介绍。 常用的生成特殊矩阵的函数将在3.3.1节介绍。
注意:在A.\B的结果中,“Inf”表示无穷大,在MATLAB中,被零 注意: A.\ 的结果中,“Inf”表示无穷大,在MATLAB中,被零 除或浮点溢出都不按错误处理,只是给出警告信息,同时用“Inf” 除或浮点溢出都不按错误处理,只是给出警告信息,同时用“Inf” 20 标记。
3.2.1 矩阵的算术运算
8
3.1.2 通过M文件创建矩阵 通过M
当矩阵的规模较大时,直接输入法就力不从 心,出现差错也不容易修改。因此可以使用 M文件生成矩阵。 方法是:建立一个M 方法是:建立一个M文件,其内容是生成矩 阵的命令,在MATLAB的命令窗口中输入此文 阵的命令,在MATLAB的命令窗口中输入此文 件名,即将矩阵调入工作空间(写入内存)。
MATLAB矩阵计算大全
MATLAB与矩阵运算1.矩阵运算(1)矩阵元素的初始化:A=[1 2 3;4,5,6]A=[1 2 34 5 6](2)矩阵运算:A^2,A*A,A/B,A\B,A+B,A-B,a*Aa) 矩阵乘法:A)两个矩阵相乘A*B要求:A的列数和B的行数相等B)矩阵的数乘x*A %x与A的各个元素分别相乘C)点乘 A.*B要求:维数相同的向量或矩阵,对应元素对应相乘D)内积dot(A,B);dot(A,B,dim)% A×B=ATB要求:向量长度或矩阵维数相同(同为m x n维阵)。
b) 矩阵除法:在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。
如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。
A\B等效于A矩阵的逆左乘B矩阵,也就是inv(A)*B,相当于A*x = B的解;B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A),相当于x*A = B的解。
注意:对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值,都等于0.75。
如,设a=[10.5,25],则a/5=5\a=[2.1000 5.0000]。
对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。
对于矩阵运算,一般A\B≠B/A。
c) 矩阵的乘方一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
点运算:在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。
点运算符有.*、./、.\和.^。
两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。
(3)常见的运算rank(A): 矩阵秩的函数trace(A): 求矩阵的迹的函数det(A):求矩阵的行列式的值inv(A):求矩阵的逆A’:矩阵的转置内置矩阵函数:zeros(3,4);ones(3,4);2.矩阵的特征值与特征向量在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:(1) E=eig(A):求矩阵A的全部特征值,构成向量E。
Matlab实验2 矩阵的基本运算
实验二、矩阵的基本运算一、 问题已知矩阵A 、B 、b 如下:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-------------=031948118763812654286174116470561091143A ⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡------=503642237253619129113281510551201187851697236421B[]1187531=b应用Matlab 软件进行矩阵输入及各种基本运算。
二、 实验目的:熟悉Matlab 软件中的关于矩阵运算的各种命令三、 预备知识1、线性代数中的矩阵运算。
2、本实验所用的Matlab 命令提示:(1)、矩阵输入格式:A =[a 11, a 12; a 21, a 22];b =初始值:步长:终值;(2)、求A 的转置:A';(3)、求A 加B :A +B ;(4)、求A 减B :A -B ;(5)、求数k 乘以A :k*A ;(6)、求A 乘以B :A*B ;(7)、求A 的行列式:det (A );(8)、求A 的秩:rank (A );(9)、求A 的逆:inv (A )或(A )-1;(10)、B 右乘A 的逆:B/A ;(11)、B 左乘A 的逆:A \B ;(12)、求A 的特征值:eig (A );(13)、求A 的特征向量矩阵X 及对角阵D :[X ,D ]=eig (A );(14)、求方阵A 的n 次幂:A ^n ;(15)、A 与B 的对应元素相乘:A.*B ;(16)、存储工作空间变量:save '文件名' '变量名';(17)、列出工作空间的所有变量:whos ;四、实验内容与要求1、输入矩阵A,B,b;>> A=[3,4,-1,1,-9,10;6,5,0,7,4,-16;1,-4,7,-1,6,-8;2,-4,5,-6,12,-8;-3,6,-7,8,-1,1;8,-4,9,1,3,0] B=[1 2 4 6 -3 2;7 9 16 -5 8 -7;8 11 20 1 5 5;10 15 28 13 -1 9;12 19 36 25 -7 23;2 4 6 -3 0 5]b=[1,3,5,7,8,11]A =3 4 -1 1 -9 106 5 07 4 -161 -4 7 -1 6 -82 -4 5 -6 12 -8-3 6 -7 8 -1 18 -4 9 1 3 0B =1 2 4 6 -3 27 9 16 -5 8 -78 11 20 1 5 510 15 28 13 -1 912 19 36 25 -7 232 4 6 -3 0 5b =1 3 5 7 8 112、作X21=A'、X22=A+B、X23=A-B、X24=AB;>> X21=A'X22=A+BX23=A-BX24=A*BX21 =3 6 1 2 -3 84 5 -4 -4 6 -4-1 0 7 5 -7 91 7 -1 -6 8 1-9 4 6 12 -1 310 -16 -8 -8 1 0X22 =4 6 3 7 -12 1213 14 16 2 12 -239 7 27 0 11 -312 11 33 7 11 19 25 29 33 -8 2410 0 15 -2 3 5X23 =2 2 -5 -5 -6 8-1 -4 -16 12 -4 -9-7 -15 -13 -2 1 -13-8 -19 -23 -19 13 -17-15 -13 -43 -17 6 -226 -8 3 4 3 -5X24 =-55 -85 -180 -245 80 -175127 174 348 250 -13 5275 110 220 194 -41 15482 129 260 283 -91 23953 76 138 21 21 -2998 151 284 165 -33 1673、作X31=|A|、X32=|B|;>> X31=det(A)X32=det(B)X31 =245295X32 =4、作X41=R(A)、X42=R(B);>> X41=rank(A)X42=rank(B)X41 =6X42 =45、作X5=A-1;>> X5=eye(6)/AX5 =-0.0737 0.0604 -0.2297 0.0067 -0.0804 0.10420.3142 0.0036 0.2408 0.1605 0.1259 -0.14360.2099 -0.0395 0.3155 0.0364 0.0834 -0.0663-0.0827 -0.0123 0.0088 -0.0777 0.0779 0.08780.0134 -0.0335 -0.0159 0.1129 0.1061 0.03370.0377 -0.0525 -0.0110 0.0469 0.0698 0.0411>> inv(A)X5 =-0.0737 0.0604 -0.2297 0.0067 -0.0804 0.10420.3142 0.0036 0.2408 0.1605 0.1259 -0.14360.2099 -0.0395 0.3155 0.0364 0.0834 -0.0663-0.0827 -0.0123 0.0088 -0.0777 0.0779 0.08780.0134 -0.0335 -0.0159 0.1129 0.1061 0.03370.0377 -0.0525 -0.0110 0.0469 0.0698 0.04116、求满足矩阵方程XA=C的解矩阵X6,其中C为A的第i列乘以列标i所得矩阵;>> C=A.*[1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6]X6=C/AC =3 8 -34 -45 606 10 0 28 20 -961 -8 21 -4 30 -482 -8 15 -24 60 -48-3 12 -21 32 -5 68 -8 27 4 15 0X6 =2.9937 -1.3602 0.3790 -1.3862 0.2409 0.6621-2.9686 4.4209 2.0166 -2.7720 -1.6217 -1.61970.7423 0.7632 4.4879 0.9367 0.1844 -1.45171.4636 0.3018 1.7126 5.6670 1.2292 -1.6950-2.9029 0.1517 -2.7542 -1.6300 2.3827 2.24512.4342 -1.1655 4.5517 1.1351 2.5048 1.04787、求满足方程AX=b的解向量X7;>> X7=A\b'X7 =-0.49102.08031.86120.96921.84321.16338、作X6的特性向量X8、X6的特征向量组X及对角阵D;>> X8=eig(X6)X8 =1.00002.00006.00003.00004.00005.0000>> [X,D]=eig(X6)X =-0.2705 0.3578 -0.4541 -0.0698 0.0811 -0.5313-0.5410 0.4472 0.7265 0.0000 0.5678 0.2361-0.0902 -0.3578 0.3633 0.4889 -0.0811 0.3542-0.1803 -0.3578 0.3633 0.3492 -0.4867 0.70830.2705 0.5367 -0.0454 -0.4889 0.6489 -0.0590-0.7213 -0.3578 0.0000 0.6286 0.0811 0.1771D =1.0000 0 0 0 0 00 2.0000 0 0 0 00 0 6.0000 0 0 00 0 0 3.0000 0 00 0 0 0 4.0000 00 0 0 0 0 5.00009、作X9=B2 (A-1)2;>> X9=B^2*(inv(A))^2X9 =4.8329 1.1095 4.3899 2.1612 3.5801 6.101016.7262 1.3541 15.0714 9.5847 13.0914 18.507122.0322 3.1761 19.5899 11.9050 17.4229 27.629331.6981 5.3951 28.3698 16.2275 24.5831 39.831241.8370 8.3265 37.2783 20.7091 32.4948 55.05442.1785 1.3564 1.8128 0.6693 2.2719 5.588510、创建从2开始公差为4的等差数列前15项构成的行向量X10。
matlab矩阵运算文本
1.矩阵运算1.A+B>>A=ones(3);B=magic(3);C=A+B2.A-B>>%同上3.8A>>8*A4.A的平方,A*B,矩阵A的逆.>>A.^2;A^2;A*B;A.*B;inv(A);注意:像带点"."时对应元素相乘((如A.*B)),不带时矩阵相乘(如A*B).% 由m行n列构成的数组称为(m×n)阶矩阵。
% 用"[]"方括号定义矩阵;% 其中方括号内","逗号或" "空格号分隔矩阵列数值;% ";"分号或"Enter"回车键分隔矩阵行数值。
% 例:a=[a11 a12 a13;a21 a22 a23]或a=[a11,a12,a13;a21,a22,a23]定义了一个2*3% 阶矩阵a。
% aij可以为数值、变量、表达式或字符串,如为数值与变量得先赋值,表达式和变量可以% 以任何组合形式出现,字符串须每一行中的字母个数相等,调用时缺省状态按行顺序取字% 母,如a(1)为第一行第一个字母。
%% 常用函数如下:函数命令说明%size(a)% [d1,d2,d3,..]=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为% 列数n;% 对多维矩阵,第N个为矩阵第N维的长度。
% cat(k,a,b) 矩阵合并,运行a = magic(3)% b = pascal(3)% c = cat(4,a,b)% 改4为3或2或1,自己体会合并后的效果。
% k=1,合并后形如[a;b],行添加矩阵(要求a,b的列数相等才能合并);% k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并),以此类推,n维的矩% 阵合并,要求n-1维维数相等才可以)。
% fliplr(a) 矩阵左右翻转% flipud(a) 矩阵上下翻转% rot90(a)% rot90(a,k) 矩阵逆时针旋转90度(把你的头顺时针旋转90看原数就可以知道结果了)% k参数定义为逆时针旋转90*k度。
MATLAB的矩阵运算
MATLAB的矩阵运算阅读⽬录 MATLAB是基于矩阵和数组计算的,可以直接对矩阵和数组进⾏整体的操作,MATLAB有三种矩阵运算类型:矩阵的代数运算、矩阵的关系运算和矩阵的逻辑运算。
其中,矩阵的代数运算应⽤最⼴泛。
本⽂主要讲述矩阵的基本操作,涉及矩阵的创建、矩阵的代数运算、关系运算和逻辑运算等基本知识。
矩阵的创建直接输⼊法创建矩阵% 1. 直接输⼊法创建矩阵>> A = [1,2,3; 4,5,6; 7,8,9]A =1 2 34 5 67 8 9函数法创建矩阵简单矩阵% 2. 函数法创建矩阵>> zeros(3)% ⽣成3x3的全零矩阵ans =0 0 00 0 00 0 0>> zeros(3,2)% ⽣成3x2的全零矩阵ans =0 00 00 0>> eye(3)% ⽣成单位矩阵ans =1 0 00 1 00 0 1>> ones(3)% ⽣成全1矩阵ans =1 1 11 1 11 1 1>> magic(3)% ⽣成3x3的魔⽅阵ans =8 1 63 5 74 9 2>> diag(1:3)% 对⾓矩阵ans =1 0 00 2 00 0 3>> diag(1:5,1)% 对⾓线向上移1位矩阵ans =0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 >> diag(1:5,-1)% 对⾓线向下移1位矩阵ans =0 0 0 0 0 01 0 0 0 0 0 02 0 0 0 0 0 03 0 0 0 0 0 04 0 0 0 0 0 05 0 >> triu(ones(3,3))% 上三⾓矩阵ans =1 1 10 1 10 0 1>> tril(ones(3,3))% 下三⾓矩阵ans =1 0 01 1 01 1 1随机矩阵>> rand(3)% ⽣成随机矩阵ans =0.2898 0.8637 0.05620.4357 0.8921 0.14580.3234 0.0167 0.7216>> rand('state',0); % 设定种⼦数,产⽣特定种⼦数下相同的随机数>> rand(3)ans =0.9501 0.4860 0.45650.2311 0.8913 0.01850.6068 0.7621 0.8214>> a = 1; b = 100;>> x = a + (b-a)* rand(3)% 产⽣区间(1,100)内的随机数x =38.2127 20.7575 91.113389.9610 31.0064 53.004043.4711 54.2917 31.3762>> a = 1; b = 100;>> a + fix(b * rand(1,50))% 产⽣50个[1,100]内的随机正整数ans =列 1 ⾄ 154 72 77 6 63 27 32 53 41 90 58 57 40 70 57列 16 ⾄ 3035 60 28 5 84 11 73 45 100 57 47 42 22 24 32列 31 ⾄ 4587 26 97 31 38 35 71 62 76 80 22 90 90 94 28列 46 ⾄ 5048 26 37 53 39相似函数扩展>> randn(3)% ⽣成均值为0,⽅差为1的正太分布随机数矩阵ans =-0.4326 0.2877 1.1892-1.6656 -1.1465 -0.03760.1253 1.1909 0.3273>> randperm(10)% ⽣成1-10之间随机分布10个正整数ans =4 9 10 25 8 1 3 7 6% 多项式x^3 - 7x + 6 的伴随矩阵>> u = [1,0,-7,6];>> A = compan(u)% ⽣成伴随矩阵A =0 7 -61 0 00 1 0>> eig(A) % 此处eig()函数⽤于求特征值% 利⽤伴随矩阵求得⽅程的根ans =-3.00002.00001.0000矩阵的运算矩阵的代数运算矩阵的算术运算>> A = [1,1;2,2];>> B = [1,1;2,2];>> AA =1 12 2>> BB =1 12 2>> A + Bans =2 24 4>> B-Aans =0 00 0>> A * Bans =3 36 6>> A^2ans =3 36 6>> A^3ans =9 918 18矩阵的运算函数>> C = magic(3)C =8 1 63 5 74 9 2>> size(C)ans =3 3>> length(C)ans =3>> sum(C)ans =15 15 15>> max(C)ans =8 9 7>> C'ans =8 3 41 5 96 7 2>> inv(C)ans =0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028矩阵的元素群运算元素群运算,是指矩阵中的所有元素按单个元素进⾏运算,也即是对应位置进⾏运算。
Matlab的矩阵运算范例
-4 -3 11
1 2 -3 0.1338 -0.0845 -0.2465
c=rref(augmtx)
0 0 1.0000 0 0 1.0000
sol=c(:,4)
方法二:以逆矩阵法求解 输入 Matlab 指令 sol=inv(a)*b 执行结果 0.1338 -0.0845 -0.2465
三、Matlab 中冒号(:)的使用范例 1. 向量的产生 输入 Matlab 指令 说明 执行结果 x=1:5 建立由 1 到 5 的列 1 2 3 4 5 向量且增量为 1 y=0:pi/4:pi 建立由 0 到π 的列 0 0.7854 1.5708 2.3562 3.1416 向量且增量为π /4 z=6:-1:1 建立由 6 到 1 的列 6 5 4 3 2 1 向量且增量为-1 a=[1 2 3];a(:) 将列向量 a 变成行 1 2 向量 3
3
cumsum(b)
prod(a) cumprod(a) prod(b)
cumprod(b)
素相加后形成的列 矩阵 2 将 b 矩阵各行的元 1 5 7 素累加后形成新的 12 15 矩阵 将 a 向量的元素相 336 乘之结果 将 a 向量的元素累 2 14 56 加后形成新的向量 80 将 b 矩阵各行的元 28 素相乘后形成的列 矩阵 将 b 矩阵各行的元 1 2 素累乘后形成新的 4 10 矩阵 28 80
1 2 3 7 8 9
1 2 3
2. 假设 a 4 5 6 ,试以 (a)上述的方法 (b)矩阵的乘法,达到换列及换行的结 4 5 6 7 8 9 1 3 2 7 9 8
果:(1) 1 2 3
(2) 4 6 5
MATLAB矩阵及其运算函数.docx
MATLAB矩阵及其运算函数表不大于白变量的最大整数不小于自变量的最小整数四舍五入到最邻近的整数求余函数%指数函数空操作符设置或改变数据输出格式(其中格式符决定数据的输出格式)冒号表达式可以产生一个行向量(其中el为初始值,e2为步长,e3为终止值)产生一个行向量(其||怙和b是生成向量的第一个和最后一个元素,[注:1 inspace (a, b, n)与a: (b~a表示取A矩阵的第j列全部元素表示A矩阵第i行的全部元素表示取A矩阵第i行、第j列的元素表示取A矩阵第i〜i+ni行的全部元素表示取A矩阵第k〜k+ni列的全部元素表示取A矩阵第i〜i+m行内,并在第k〜k+m产生全0矩阵(零矩阵)产生全1矩阵(幺矩阵)产生单位矩阵量(其中A为!nXn矩阵)提取矩阵A的第k条对角线的元素求矩阵A的上三角阵求矩阵A的第k条对角线以上的元素求矩阵A的下三角阵求矩阵A的第k条对角线以下的元素将矩阵A旋转90o的k倍对矩阵A实施左右翻转对矩阵A实施上下翻转求A矩阵的逆矩阵求A矩阵的伪逆(也称为广义逆矩阵)求方阵A所对应的行列式的值(把一个方阵看作一个行列式,并对其按行列式规则求得的值)求矩阵A的秩(矩阵线性无关的行数与列数称为矩阵的秩)求矩阵A的迹(矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和)计算向量V的2—范数计算向量V的1—范数计算向量V的g—范数计算A的1—范数下的条件数计算A的2—范数数下的条件数计算A的8—范数下的条件数为正弦,余弦,正切为反正弦,反反余弦,反正切给出一个向量所有相邻分量的差,组成一个前一个分量)。
matlab矩阵运算
在 MATLAB 窗口输入:
>>xample; >>size(exm) ans= 5 6 %显示 exm 的大小 %表示 exm 有 5 行 6 列。
1.1.4
多维数组的创建
函数 cat 格式 A=cat(n,A1,A2,…,Am) 说明 n=1 和 n=2 时分别构造[A1;A2]和[A1,A2],都是二维数组,而 n=3 时可以构造 出三维数组。 例 1-7
>> Time = [11 12 1 2 3 4 5 6 7 8 9 10] Time = 11 12 1 2 3 4 5 6 7 8 9 10 >> X_Data = [2.32 3.43;4.37 5.98] X_Data = 2.43 3.43 4.37 5.98 >> vect_a = [1 2 3 4 5] vect_a = 1 2 3 4 5 >> Matrix_B = [1 2 3; >> 2 3 4;3 4 5] Matrix_B = 1 2 3 2 3 4 3 4 5 >> Null_M = [ ] %生成一个空矩阵
1.1.5
特殊矩阵的生成
全零阵 zeros B = zeros(n) %生成 n×n 全零阵 B = zeros(m,n) %生成 m×n 全零阵 B = zeros([m n]) %生成 m×n 全零阵 B = zeros(d1,d2,d3…) %生成 d1×d2×d3×…全零阵或数组 B = zeros([d1 d2 d3…]) %生成 d1×d2×d3×…全零阵或数组 B = zeros(size(A)) %生成与矩阵 A 相同大小的全零阵 单位阵 eye Y = eye(n) %生成 n×n 单位阵 Y = eye(m,n) %生成 m×n 单位阵 Y = eye(size(A)) %生成与矩阵 A 相同大小的单位阵 全1阵 ones Y = ones(n) %生成 n×n 全 1 阵 Y = ones(m,n) %生成 m×n 全 1 阵 Y = ones([m n]) %生成 m×n 全 1 阵 Y = ones(d1,d2,d3…) %生成 d1×d2×d3×…全 1 阵或数组 Y = ones([d1 d2 d3…]) %生成 d1×d2×d3×…全 1 阵或数组 Y = ones(size(A)) %生成与矩阵 A 相同大小的全 1 阵 均匀分布随机矩阵 rand Y = rand(n) %生成 n×n 随机矩阵,其元素在(0,1)内 Y = rand(m,n) %生成 m×n 随机矩阵
第二章matlab矩阵运算
③数组乘方(.^) — 元素对元素的幂 数组乘方
例: a=[1 2 3];b=[4 5 6]; z=a.^2 z= 1.00 4.00 z=a.^b z= 1.00 32.00
4 23 2 1 1 12 4 2
2. 矩阵的翻转与旋转
matlab提供对矩阵进行翻转与旋转的 函数,它们的调用格式:
rot90(A,k) fliplr(A) flipud(A)
3. 对角阵与三角阵
对角阵的定义: 对角阵的定义
只有对角线上有非0元素的矩阵称为对角矩阵, 只有对角线上有非 元素的矩阵称为对角矩阵, 元素的矩阵称为对角矩阵 对角线上的元素相等的对角矩阵称为数量矩阵, 对角线上的元素相等的对角矩阵称为数量矩阵, 对角线上的元素都为1的对角矩阵称为单位矩阵 的对角矩阵称为单位矩阵。 对角线上的元素都为 的对角矩阵称为x=[2 pi/2;sqrt(3) 3+5i]
3. 矩阵的修改
直接修改 可用↑键找到所要修改的矩阵,用←键移动 到要修改的矩阵元素上即可修改。 指令修改 可以用A(∗,∗)= ∗ 来修改(赋值,见MATLAB help Matrix)。
例如 a=[1 2 0;3 0 5;7 8 9] a =1 2 0 3 0 5 7 8 9 a(3,3)=0 a =1 2 0 3 0 5 7 8 0
3.左除与右除运算
若AV=I 则V=A-1 =inv(A) 对于方程 D*X=B inv(D)*D*X=inv(D)*B X=inv(D)*B=D\B (左除,逆矩阵左乘) 对于方程 X*D=B X*D*inv(D)=B*inv(D) X= B*inv(D)=B/D (右除,逆矩阵右乘)
Matlab——矩阵运算矩阵基本变换操作
109.5895
0
0
0 12.0373
0
0
0 8.0778
v= -0.9506 0.0619 -0.3041 -0.3014 -0.4176 0.8572 -0.0739 0.9065 0.4156
矩阵范数
>> norm(a) ans =
109.5895 >> norm(a,1) ans =
142 >> norm(a,inf) ans =
13579 >> b = 1:2:9 b=
13579 >> a+b ans =
2 5 8 11 14 >> a.*b ans =
1 6 15 28 45 >> a.' %转置矩阵 ans =
1 2 3 4 5
矩阵基本变换操作
转置
>> a = [10,2,12;34,2,4;98,34,6] a= 10 2 12 34 2 4 98 34 6 >> a.' ans = 10 34 98 2 2 34 12 4 6 求逆
除了加减符号其余的运算符必须加
Matlab——矩 阵 运 算 矩 阵 基 本 变 换 操 作
矩阵运算
+ 加 - 减 .* 乘 ./ 左除 .\ 右除 .^ 次方 .' 转置 除了加减符号,其余的运算符必须加“.”
>> a = 1:5 a=
12345 >> a-2 %减法 ans =
-1 0 1 2 3 >> 2.*a-1 %乘法 减法 ans =
r=
-104.2113 -32.8179 -8.0989
第2章2MATLAB矩阵及其运算
例:
>> a=[1 2 3;4 5 6; 7 8 9]
a=
123
456
789
>> a(:,2) ans =
2
>> a(2,:) ans =
456
5
8
>> a([1 2],:) ans =
123 456
>> a([1 end],:) ans =
123 789
>> a([1 3],:) ans =
123 789
【例2.13.1-2】关系运算运用之一:求近似极限,修补图形缺口。 >> t=-2*pi:pi/10:2*pi; y=sin(t)./t; tt=t+(t==0)*eps; yy=sin(tt)./tt; subplot(1,2,1),plot(t,y),axis([-7,7,-0.5,1.2]), xlabel('t'),ylabel('y'),title('残缺图形') subplot(1,2,2),plot(tt,yy),axis([-7,7,-0.5,1.2]) xlabel('t'),ylabel('yy'),title('正确图形') Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.)
1122
2.矩阵拆分 (1) 利用冒号表达式获得子矩阵 ① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)
表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵 第i行、第j列的元素。
Matlab的基本矩阵运算
ans =
0.0000 + 1.0000i 2.0000 + 1.0000i 1.0000 + 0.0000i 0.0000 - 1.0000i >> flipud(a)
ans =
34 12
>> fliplr(a)
ans =
21 43
>> rot90(a)
ans =
24 13
>> rot90(a,2)
ans =
43 21
>> rot90(a,-1)
ans =
31 42
(6)行列式、求阶梯形矩阵、秩
>> det(a)
ans =
-2
>> rref(a)
ans =
10 01
>> rank(a)
ans =
2
(7)特征值
[V,D]=eig(A) V:特征向量,(分列而排) D:特征值排列成的对角矩阵
>> p=[1:4;2:5;3:6;4:7]
p=
1234 2345 3456 4567
>> [x,y]=eig(p)
x=
0.7752 0.3424 -0.0903 -0.5231
-0.4667 0.8360 -0.2717 -0.0975
-0.2866 0.0343 0.7913 -0.5390
0.3147 0.4275 0.5402 0.6530
>> y(1,1).*x(:,1)
ans =
-0.9032 -0.3990 0.1052 0.6095
y=Biblioteka -1.165200
- 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.1Cholesky 分解函数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) 位置上的元素。