MATLAB矩阵的基本运算
qq_2773878606
学生
展开
-
cos和acos--余弦和反余弦函数
【功能简介】求变量的余弦和反余弦。【语法格式】1.Y=cos(X)计算X中元素的余弦值,元素可以为复数,单位是弧度。Y的取值在[-1,1]之间。2.Y=acos(X)计算X中元素的反余弦,返回值的单位为弧度,对于[-1,1]之间的元素,函数值域为[0,pi]。若X超出[-1,1]范围,acos(x)为复数。acos函数是cos函数的反函数。【实例5.原创 2015-12-25 19:58:56 · 9289 阅读 · 0 评论 -
funm--矩阵的函数运算
【功能简介】对矩阵进行函数运算。【语法格式】1.F=funm(A,fun)输入参数A必须为方阵,fun可以是任意基本函数,如sin、cos等。函数计算fun指定的矩阵函数并将结果返回给F。例如,sin(A)是对矩阵A中每一个元素分别求正弦,而funm(A,@sin)则对整个矩阵求正弦,两者得出的结果是不相等的。2.F=funm(A,fun,options)o原创 2015-12-24 11:19:19 · 2345 阅读 · 0 评论 -
logm--求矩阵的对数
【功能简介】求矩阵的对数函数。【语法格式】1.L=logm(A)输入参数A必须为方阵,函数计算矩阵A的对数并返回L。如果矩阵A是奇异的或者有特征值在负实数轴,那么A的主要对数是未定义的,函数将计算非主要对数并打印警告信息。logm函数是expm函数的逆运算。2.[L,exitflag]=logm(A)exitflag是一个标量值,用于描述函数logm的退出状原创 2015-12-24 11:18:09 · 9038 阅读 · 0 评论 -
expm--矩阵的指数函数
【功能简介】求矩阵的指数函数。【语法格式】Y=expm(X) 输入参数X必须为方阵,函数计算矩阵X的指数并返回Y。计算方法是:[V,D] = eig(X)expm(X) = V*diag(exp(diag(D)))【辨析与注意】expm函数计算的是矩阵指数,而exp函数则分别计算每一元素的指数。若输入矩阵是上三角矩阵或下三角矩阵,两函数计算结原创 2015-12-24 11:17:28 · 9509 阅读 · 1 评论 -
flipdim--按指定维数翻转矩阵
【功能简介】按指定维数翻转矩阵。【语法格式】B=flipdim(A,dim) 按指定维数翻转矩阵,flipdim(A,1)=flipud(A),且flipdim(A,2) =fliplr(A)。【实例3.49】对矩阵A=[1,2,3;4,5,6]分别进行上下和左右翻转。>> A=[1,2,3;4,5,6] A = 1 2 3原创 2015-12-24 11:16:03 · 1064 阅读 · 0 评论 -
flipud--矩阵上下翻转
【功能简介】实现矩阵上下翻转。【语法格式】B=flipud(A) 对矩阵A进行上下翻转。【实例3.48】对矩阵magic(3)进行上下翻转。>> a=magic(3) a = 8 1 6 3 5 7 4 9 2 >> b=fliplr(a) %左右翻转 b =原创 2015-12-24 11:15:12 · 1470 阅读 · 0 评论 -
fliplr--矩阵左右翻转
【功能简介】实现矩阵左右翻转。【语法格式】B=fliplr(A) 对矩阵A进行左右翻转。【实例3.47】对矩阵magic(3)进行左右翻转。>> a=magic(3) a = 8 1 6 3 5 7 4 9 2 >> b=fliplr(a) %左右翻转 b =原创 2015-12-24 11:14:35 · 5205 阅读 · 0 评论 -
rot90--矩阵旋转
【功能简介】矩阵旋转90°或90°的倍数。【语法格式】1.B=rot90(A)将矩阵A逆时针旋转90°以后返回B。2.B=rot90(A,k)将矩阵A逆时针旋转(90×k)°以后返回B,k取负数时表示顺时针旋转。【实例3.46】对矩阵进行逆时针和顺时针旋转。>> a=[1,2,3;4,5,6;7,8,9] a = 1 2原创 2015-12-24 11:14:04 · 23075 阅读 · 0 评论 -
repmat--矩阵的复制和平铺
【功能简介】复制数组。【语法格式】1.B=repmat(A,[m n])或B=repmat(A,m,n)返回一个大矩阵B,包含m×n个矩阵A。B的大小为[size(A,1)*m, size(A,2)*n]。2.B=repmat(A,[m n p…])返回一个大的多维数组B,B包含m×n×p个矩阵A,其大小为[size(A,1)*m, size(A,2)*n,原创 2015-12-23 17:59:11 · 2735 阅读 · 0 评论 -
reshape--矩阵变维
【功能简介】矩阵变维。【语法格式】1.B=reshape(A,[m n p ...])或B=reshape(A,m,n,p,...)返回一个m×n×p的多维数组B,B与A含有相同的元素个数,即m×n×p=prod(size(A))。格式变体:B=reshape(A,m,n):对数组A进行维度转换,返回一个m×n的矩阵。B=reshape(A,…,[]原创 2015-12-23 17:58:01 · 3477 阅读 · 1 评论 -
triu--上三角矩阵的抽取
【功能简介】抽取上三角矩阵。【语法格式】U=triu(X,k) 抽取矩阵中第k条对角线及其以上的元素。k=0指主对角线,k>0指主对角线以上的第k条对角线,k格式变体:U=triu(X):返回矩阵的上三角矩阵,即默认k=0。【实例3.43】对全1矩阵进行上三角矩阵的抽取。>> a=ones(4,4); >> triu(a,-1) %-1原创 2015-12-23 17:56:36 · 2601 阅读 · 0 评论 -
sqrtm--矩阵的平方根
【功能简介】计算矩阵的平方根。【语法格式】1.X=sqrtm(A)计算矩阵A的平方根A1/2,即X*X=A。若矩阵A的每个特征值都有非负实部,则X是唯一的,若矩阵A的特征值有负的实部,X返回负矩阵,若A为奇异矩阵,则X不存在。检测到A的奇异性时,将打印警告信息。格式变体:[X,resnorm]=sqrtm(A):resnorm为结果残差,resnorm= n原创 2015-12-25 19:44:21 · 30226 阅读 · 1 评论 -
cond--求矩阵的条件数
【功能简介】求矩阵的条件数。矩阵的条件数用于衡量线性方程组的解对数据误差的敏感性,它反映出矩阵求逆及线性方程组解的精确程度。【语法格式】1.c=cond(X)求矩阵X的2-范数的条件数,即X的最大奇异值与最小奇异值的比值。2.c=cond(X,p)求矩阵X的p-范数的条件数。p=1表示1-范数条件数,p=2表示2-范数条件数,p='fro'表示Frobeni原创 2015-12-25 19:45:32 · 16858 阅读 · 0 评论 -
condest--1-范数的条件数估计
【功能简介】求矩阵1-范数的条件数估计。【语法格式】1.c=condest(A)求方阵A的1-范数的条件数的下界估计c。2.[c,v]=condest(A)计算向量v,v满足norm(A*v,1) = norm(A,1)*norm(v,1)/c。【实例3.55】求矩阵的1-范数条件数估计。>> a=[3,5,0;2,10,4;3,4,5] a原创 2015-12-25 19:46:12 · 1939 阅读 · 0 评论 -
rref--计算行阶梯矩阵
【功能简介】求行阶梯形式矩阵。【语法格式】1.R=rref(A)用高斯-约旦消元法和行主元法求A的行阶梯矩阵R。用默认误差(max(size(A))*eps *norm(A,inf))测试可以忽略不计的列的元素。2.[R,jb]=rref(A)返回向量jb满足:r=length(jb)是矩阵A的秩;X(jb)是线性方程AX=b的主元变量;A(:,jb)是A的原创 2015-12-25 19:54:38 · 4535 阅读 · 0 评论 -
orth--将矩阵正交规范化
【功能简介】将矩阵正交规范化,得到矩阵的正交基。【语法格式】B=orth(A) 返回矩阵A的正交基,B的列与A的列具有相同的空间,B的列向量是正交向量,满足B'*B = eye(rank(A)),B的列数是A的秩。【实例3.65】求矩阵x=[4,0,0;0,3,1;0,1,3]的正交基。>> A=[4,0,0;0,3,1;0,1,3]; >> B=orth(A)原创 2015-12-25 19:54:00 · 12064 阅读 · 0 评论 -
cdf2rdf--复对角矩阵转化为实对角矩阵
【功能简介】将复对角矩阵转化为实对角矩阵。【语法格式】[V,D]=cdf2rdf(v,d) 把复数对角矩阵转化为实数块对角矩阵,如果特征方程[V,D]=eig(X)有成对的复特征值,cdf2cdf把矩阵V、D转化为实对角形式,对角线上2×2实数块将取代原有的复数对。【实例3.64】求矩阵x=[1,2,3;0,4,5;0,-5,4]的特征值与特征向量,再对所得复矩阵进行转原创 2015-12-25 19:53:28 · 1940 阅读 · 0 评论 -
numel--矩阵的元素个数
【功能简介】返回矩阵或数组中的元素个数。【语法格式】n=numel(A) 求矩阵或数组A的元素个数并返回n,相当于length(A(:))。【实例3.63】求四维数组的元素个数。>> a=ones(2,2,2,3); %定义2×2×2×3的数组a >> numel(a) %求数组中元素的个数 ans = 24 【实例原创 2015-12-25 19:51:57 · 563 阅读 · 0 评论 -
expand--符号矩阵的展开
【功能简介】进行多项式和初等函数的符号展开。【语法格式】expand(s) 将符号表达式s的每个元素表示为其因子的积,常用于多项式、三角函数、指数和对数函数的展开。【实例3.62】对多个符号表达式进行展开。>> syms x y t >> expand((x-4)*(y+1)) %对多项式进行分解 ans = x - 4*y + x*y -原创 2015-12-25 19:51:04 · 953 阅读 · 0 评论 -
factor--符号矩阵的因式分解
【功能简介】求符号表达式的因式分解,此外还能对整数进行素数因子分解。【语法格式】1.f=factor(n)对整数n进行素数因子分解,返回包含n的素数因子的行向量。2.factor(X)对符号表达式或符号整数数组X进行因式分解。【实例3.61】对整数和符号表达式进行分解。>> factor(321) %对整数321进行素数因子分解 a原创 2015-12-25 19:50:29 · 1881 阅读 · 0 评论 -
sym--数值矩阵转为符号矩阵
【功能简介】将数值矩阵转化为相应的符号矩阵。【语法格式】S=sym(A) 将数值矩阵A转化为相应的符号矩阵S。无论矩阵是用浮点数还是分数表示,转化后的符号矩阵都将以最接近原值的有理数形式或者函数形式表示。【实例3.60】将一个2×2实数矩阵转化为符号矩阵。>> a=[0.5,sin(4);5/101,sqrt(3)] a = 0.5000 -0.原创 2015-12-25 19:49:46 · 6740 阅读 · 0 评论 -
rat/rats--用有理数形式表示矩阵
【功能简介】用有理分式逼近矩阵。【语法格式】1.[N,D]=rat(X)返回多项分数数组N和D使得N./D在默认误差1.e-6*norm (X(:),1)内逼近X。格式变体:[N,D]=rat(X,tol):用tol取代默认的误差。2.S=rats(X)rats与rat功能相似,且在内部调用了rat函数,返回值S是字符串。对于有理小数a,ra原创 2015-12-25 19:48:50 · 1377 阅读 · 0 评论 -
rcond--矩阵可逆的条件数估值
【功能简介】求矩阵可逆的条件数估值。【语法格式】c=rcond(A) 返回矩阵A的1-范数可逆的条件数。对于好条件矩阵A,rcond(A)是接近1的数。对于差条件矩阵A,rcond(A)是接近0的数。和cond相比,rcond(A)在对估计矩阵条件数上更有效率,但更不可靠。【实例3.57】求魔方矩阵的可逆条件数估值。>> a=magic(3) a =原创 2015-12-25 19:47:45 · 4684 阅读 · 0 评论 -
normest--2-范数的条件数估计
【功能简介】求矩阵的2-范数的条件数估计,主要针对稀疏矩阵。【语法格式】1.nrm=normest(S)求矩阵S的2-范数(欧几里德范数)的估计值nrm,相对误差小于1e-6。格式变体:nrm=normest(S,tol):tol为指定的相对误差,不采用默认的1e-6。2.[nrm,count]=normest(…)输出参数count为计算范原创 2015-12-25 19:47:00 · 2043 阅读 · 0 评论 -
tril--下三角矩阵的抽取
【功能简介】抽取下三角矩阵。【语法格式】L=tril(X,k) 抽取矩阵中第k条对角线及其以下的元素。k=0指主对角线,k>0指主对角线以上的第k条对角线,k格式变体:L=tril(X):返回矩阵的下三角矩阵,即默认k=0。【实例3.42】对全1矩阵进行下三角矩阵的抽取。>> a=ones(4,4); >> tril(a,-1) %-原创 2015-12-23 17:56:07 · 4262 阅读 · 0 评论 -
diag--创建对角矩阵
【功能简介】用给定对角线元素构造矩阵或抽取矩阵的对角线元素。【语法格式】1.X=diag(v,k)以向量v为矩阵X的第k条对角线,当k=0时,向量v为X的主对角线,k>0时,v为主对角线上方的第k条对角线,k<0时,v为主对角线下方的第k条对角线。格式变体:X=diag(v):以向量v为矩阵X的主对角线,即默认k=0。2.v=diag(X,k)原创 2015-12-23 17:21:36 · 8970 阅读 · 0 评论 -
unique--求集合的单值元素
【功能简介】求集合中的单值元素,即重复的元素只保留一份。【语法格式】1.b=unique(A)b返回A中的单值元素。2.c=unique (A,'rows')c返回矩阵A中的单值行。【实例3.40】求一个包含NaN的向量中的单值元素。>> a=[1,1,2,NaN,NaN]; >> b=unique(a) %求向量a的单值元素 b =原创 2015-12-23 17:20:51 · 336 阅读 · 0 评论 -
cross--向量或矩阵的叉乘
cross--向量或矩阵的叉乘【功能简介】计算向量的外积(叉乘)。(x1,y1,z1)×(x2,y2,z2)=(y1z2-y2z1,z1x2-z2x1,x1y2-x2y1)【语法格式】1.C=cross(A,B,dim)A与B是大小相同的矩阵或数组,函数在dim指定的维数中长度必须为3,C返回A与B的外积。2.C=cross(A,B)在A与B第一个长原创 2015-12-14 09:40:39 · 6658 阅读 · 0 评论 -
inv--求矩阵的逆
inv--求矩阵的逆【功能简介】用于求解逆矩阵。【语法格式】Y=inv(X) 函数返回矩阵X的逆矩阵。注意,只有可逆的矩阵才有逆矩阵,可逆矩阵就是非奇异矩阵,即方阵的行列式不能为零。一种典型的应用是用inv函数来求解线性方程组。在Ax=b中,解出来的结果是x=inv(A)*b,其实求解该方程组有更简便、快速的方法:x=A\b。【实例3.27】用两种方法求原创 2015-12-14 14:12:23 · 5210 阅读 · 0 评论 -
trace--求矩阵的迹
trace--求矩阵的迹【功能简介】求矩阵的迹。迹就是矩阵主对角线元素之和。【语法格式】b=trace(A) 返回矩阵A的迹,相当于sum(diag(A))。【实例3.29】求三阶魔方矩阵的迹。>> a=magic(3) a = 8 1 6 3 5 7 4 9原创 2015-12-14 14:14:32 · 4285 阅读 · 0 评论 -
矩阵基本运算
MATLAB系统丰富和完善的函数库为用户提供了强大的矩阵运算功能。另外,MATLAB中的运算符也能实现基本的矩阵运算,在下面的小节中将进行详细介绍。3.2.1 矩阵运算基础【功能简介】"+"、"-"、"*"、"/"分别对矩阵进行加、减、乘、除运算。【语法格式】1.C=A+B或C=A-BA与B是大小相同的矩阵或数组,上式对A和B中的每一个元素分别进行加法或减原创 2015-12-14 09:39:52 · 827 阅读 · 0 评论 -
dot--向量或矩阵的点乘
dot--向量或矩阵的点乘【功能简介】计算向量的内积(点乘)。【语法格式】1.C=dot(A,B,dim)A与B是大小相同的矩阵或数组,函数在dim指定的维数中计算A与B的内积。2.C=dot(A,B)若A与B为向量,返回A与B的内积。若A与B为矩阵,对每列计算A、B的内积。若A、B为多维数组,则沿着第一个长度不为1的维度进行计算。【实例3.原创 2015-12-14 09:40:14 · 3042 阅读 · 0 评论 -
rank--求矩阵的秩
rank--求矩阵的秩【功能简介】求矩阵的秩。【语法格式】1.k=rank(A,tol)k返回矩阵A的秩,tol为给定的精确度,k必须大于tol。2.k=rank(A)求矩阵的秩,采用默认的精确度。【实例3.25】求魔方矩阵的秩。>> a=magic(3) a = 8 1 6 3原创 2015-12-14 09:41:09 · 3608 阅读 · 0 评论 -
det--求矩阵的行列式
【功能简介】用高斯消元法求方阵的行列式。【语法格式】d=det(X) 函数返回方阵X的行列式。行列式等于零的矩阵称为奇异矩阵,理论上可以采用det(X)【实例3.26】求不同矩阵的行列式。>> a=[1,2,3;4,5,6;7,8,9] a = 1 2 3 4 5 6 7原创 2015-12-14 14:10:53 · 10609 阅读 · 0 评论 -
pinv--求矩阵的伪逆矩阵
pinv--求矩阵的伪逆矩阵【功能简介】用于求矩阵的伪逆矩阵。【语法格式】1.B=pinv(A)函数返回矩阵A的伪逆矩阵。如果矩阵A是可逆(非奇异)的,那么pinv(A)与inv(A)的结果是一样的,而且pinv比inv效率低。但如果矩阵A是奇异矩阵,则inv(A)不存在,但pinv(A)仍然存在,并表现出一些与逆矩阵类似的性质。在pinv函数中,A不一定是方阵。原创 2015-12-14 14:13:23 · 25738 阅读 · 0 评论 -
union--求集合的并集
【功能简介】返回两个集合的并集。【语法格式】1.c=union(A,B)c返回A与B的并集。格式变体:[c,ia,ib] = union(A, B):ia返回c中元素在A中的位置索引,ib返回c中元素在B中的位置索引。2.c=union(A, B, 'rows')A与B是列数相同的矩阵,c中的行由A、B中的行构成。【实例3.39】求向原创 2015-12-23 17:19:46 · 646 阅读 · 0 评论 -
setxor--求两个集合交集的非(异或)
【功能简介】返回两个集合的异或。【语法格式】1.c=setxor(A,B)c返回A与B的异或,即属于A且不属于B的元素和属于B且不属于A的元素。格式变体:[c,ia,ib] = setdiff(A, B):ia返回c中元素在A中的位置索引,ib返回c中元素在B中的位置索引。2.c=setxor(A, B, 'rows')A与B是列数相同的矩阵原创 2015-12-23 17:18:12 · 2137 阅读 · 0 评论 -
setdiff--求两个集合的差
【功能简介】返回两个集合的差。【语法格式】1.c=setdiff(A,B)计算在A中而不在B中(即A-B)的元素,并按升序排列后返回。格式变体:[c,i] = setdiff(A, B):i返回元素在A中的位置索引。2.c=setdiff(A, B, 'rows')A与B是列数相同的矩阵,返回在A中而不在B中的行。【实例3.37】求在原创 2015-12-23 17:17:13 · 884 阅读 · 0 评论 -
ismember--检测集合中的元素
【功能简介】检测元素是否在集合中。【语法格式】1.tf=ismember(A,S)返回与A大小相同的逻辑数组,如果A中的元素属于S,那么A中的相应位置返回1(true),否则返回0(false)。格式变体:[tf, loc] = ismember(A, S,…):A中的元素若属于S,则tf返回1,loc返回该元素在S中的索引值,若有多个相等的元素,则返回最大原创 2015-12-23 17:16:09 · 1934 阅读 · 0 评论 -
intersect--求两个集合的交集
【功能简介】求向量或矩阵的公共部分。【语法格式】1.c=intersect(a,b)函数找出向量a与b的相同元素,并按升序返回到c中。格式变体:[c,ia,ib]=intersect(a,b):c返回向量a与向量b的公共元素,ia返回公共元素在a中的位置,ib返回公共元素在b中的位置。2.c=intersect(A,B,'row')A与B是列原创 2015-12-23 17:14:25 · 1833 阅读 · 0 评论