⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.txt

📁 这是一些关于学习matlab 的资料
💻 TXT
📖 第 1 页 / 共 5 页
字号:
格式  polyvalm(P, A)   %P为多项式系数向量,方阵A为多项式变量,返回多项式值。
1.2.7  矩阵转置
运算符:′
运算规则:若矩阵A的元素为实数,则与线性代数中矩阵的转置相同。
若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。
若仅希望转置,则用如下命令:A.′。
1.2.8  方阵的行列式
函数  det
格式  d = det(X)    %返回方阵X的多项式的值
例1-42
>> A=[1 2 3;4 5 6;7 8 9]
A =
   1     2     3
     4     5     6
     7     8     9
>> D=det(A)
D =
     0
1.2.9  逆与伪逆
命令  逆
函数  inv
格式  Y=inv(X)   %求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息。
例1-43  求 的逆矩阵
方法一
>>A=[1  2  3; 2  2  1; 3  4  3];
>>Y=inv(A)或Y=A^(-1)
则结果显示为
 Y =
      1.0000    3.0000   -2.0000
      -1.5000   -3.0000    2.5000
      1.0000    1.0000   -1.0000
方法二:由增广矩阵 进行初等行变换
>>B=[1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1];
>>C=rref(B)     %化行最简形
>>X=C(:, 4:6)    %取矩阵C中的A^(-1)部分
显示结果如下:
C =
    1.0000         0         0    1.0000    3.0000   -2.0000
         0    1.0000         0   -1.5000   -3.0000    2.5000
         0         0    1.0000    1.0000    1.0000   -1.0000
X =
    1.0000    3.0000   -2.0000
   -1.5000   -3.0000    2.5000
    1.0000    1.0000   -1.0000
例1-44
>> A=[2 1 -1;2 1 2;1 -1 1];
>> format rat    %用有理格式输出
>> D=inv(A)
D =
     1/3           0           1/3     
      0           1/3         -2/3     
    -1/3          1/3           0      
命令  伪逆
函数  pinv
格式  B = pinv(A)      %求矩阵A的伪逆
      B = pinv(A, tol)   %tol为误差:max(size(A))*norm(A)*eps
说明  当矩阵为长方阵时,方程AX=I和XA=I至少有一个无解,这时A的伪逆能在某种程度上代表矩阵的逆,若A为非奇异矩阵,则pinv(A) = inv(A)。
例1-45
>> A=magic(5);   %产生5阶魔方阵。
>> A=A(:,1:4)    %取5阶魔方阵的前4列元素构成矩阵A。
A =
    17    24     1     8
    23     5     7    14
     4     6    13    20
    10    12    19    21
    11    18    25     2
>> X=pinv(A)    %计算A的伪逆
X =
   -0.0041    0.0527   -0.0222   -0.0132    0.0069
    0.0437   -0.0363    0.0040    0.0033    0.0038
   -0.0305    0.0027   -0.0004    0.0068    0.0355
    0.0060   -0.0041    0.0314    0.0211   -0.0315
1.2.10  矩阵的迹
函数  trace
格式  b=trace (A)   %返回矩阵A的迹,即A的对角线元素之和。
1.2.11  矩阵和向量的范数
命令  向量的范数
函数  norm
格式  n = norm(X)      %X为向量,求欧几里德范数,即 。
n = norm(X,inf)   %求 -范数,即 。
n = norm(X,1)    %求1-范数,即 。
n = norm(X,-inf)  %求向量X的元素的绝对值的最小值,即 。
n = norm(X, p)   %求p-范数,即 ,所以norm(X,2) = norm(X)。
命令  矩阵的范数
函数  norm
格式  n = norm(A)    %A为矩阵,求欧几里德范数 ,等于A的最大奇异值。
n = norm(A,1)   %求A的列范数 ,等于A的列向量的1-范数的最大值。
n = norm(A,2)   %求A的欧几里德范数 ,和norm(A)相同。
n = norm(A,inf)   %求行范数 ,等于A的行向量的1-范数的最大值
即:max(sum(abs(A')))。
n = norm(A, 'fro' )   %求矩阵A的Frobenius范数 ,
即sqrt(sum(diag(A'*A))),不能用矩阵p-范数的定义来求。
命令  范数的估计值
函数  normest
格式  nrm = normest(A)         %矩阵A的2-范数(欧几里德范数)的估计值,相对误差小于106。
nrm = normest(A,tol)       %tol为指定相对误差
[nrm,count] = normest(…)   %count给出计算估计值的迭代次数
1.2.12  条件数
命令  矩阵的条件数
函数  cond
格式  c = cond(X)   %求X的2-范数的条件数,即X的最大奇异值和最小奇异值的商。
c = cond(X,p)   %求p-范数的条件数,p的值可以是1、2、inf或者’fro’。
说明  线性方程组AX=b的条件数是一个大于或者等于1的实数,用来衡量关于数据中的扰动,也就是A/或b对解X的灵敏度。一个差条件的方程组的条件数很大。条件数的定义为: 
命令  1-范数的条件数估计
函数  condest
格式  c = condest (A)       %方阵A的1-范数的条件数的下界估值。
[c,v] = condest (A)   %v为向量,满足 ,即norm(A*v,1) =norm(A,1)*norm(v,1)/c。
[c,v] = condest (A,t)   %求上面的c和v,同时显示出关于计算的步骤信息。如果t=1,则计算的每步都显示出来;如果t=-1,则给出商c/rcond(A)。
命令  矩阵可逆的条件数估值
函数  rcond
格式  c = rcond(A)   %对于差条件矩阵A来说,给出一个接近于0的数;对于好条件矩阵A,则给出一个接近于1的数。
命令  特征值的条件数
函数  condeig
格式  c = condeig(A)        %返回矩阵A的特征值的条件数
[V,D,c] = condeig(A)   %D为A的特征值对角阵,V为A的特征向量。
1.2.13  矩阵的秩
函数  rank
格式  k = rank (A)      %求矩阵A的秩
k = rank (A,tol)   %tol为给定误差
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。
例1-46
>> v=[1 2 3];
>> x=diag(v,-1)
x =
     0     0     0     0
     1     0     0     0
     0     2     0     0
     0     0     3     0
>> A=[1 2 3;4 5 6;7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
>> v=diag(A,1)
v =
     2
     6
2.上三角阵和下三角阵的抽取
函数  tril   %取下三角部分
格式  L = tril(X)     %抽取X的主对角线的下三角部分构成矩阵L
L = tril(X,k)    %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。
函数  triu    %取上三角部分
格式  U = triu(X)    %抽取X的主对角线的上三角部分构成矩阵U
U = triu(X,k)   %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。
例1-47
>> A=ones(4)    %产生4阶全1阵
A =
   1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
>> L=tril(A,1)    %取下三角部分
L =
     1     1     0     0
     1     1     1     0
     1     1     1     1
     1     1     1     1
>> U=triu(A,-1)    %取上三角部分
U =
     1     1     1     1
     1     1     1     1
     0     1     1     1
     0     0     1     1
3.矩阵的变维
矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。
(1)“:”变维
例1-48
> A=[1 2 3 4 5 6;6 7 8 9 0 1]
A =
     1     2     3     4     5     6
     6     7     8     9     0     1
>> B=ones(3,4)
B =
     1     1     1     1
     1     1     1     1
     1     1     1     1
>> B(:)=A(:)
B =
     1     7     4     0
     6     3     9     6
     2     8     5     1
(2)Reshape函数变维
格式  B = reshape(A,m,n)       %返回以矩阵A的元素构成的m×n矩阵B
B = reshape(A,m,n,p,…)   %将矩阵A变维为m×n×p×…
B = reshape(A,[m n p…])   %同上
B = reshape(A,siz)        %由siz决定变维的大小,元素个数与A中元素个数
相同。
例1-49  矩阵变维
>> a=[1:12];
>> b=reshape(a,2,6)
b =
     1     3     5     7     9    11
     2     4     6     8    10    12
4.矩阵的变向
(1)矩阵旋转
函数
格式  B = rot90 (A)    %将矩阵A逆时针方向旋转90°
B = rot90 (A,k)   %将矩阵A逆时针方向旋转(k×90°),k可取正负整数。
例1-50
>> A=[1 2 3;4 5 6;7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
>> Y1=rot90(A),Y2=rot90(A,-1)
Y1 =     %逆时针方向旋转
    3     6     9
    2     5     8
    1     4     7
Y2 =     %顺时针方向旋转
    7     4     1
    8     5     2
    9     6     3
(2)矩阵的左右翻转
函数  fliplr
格式  B = fliplr(A)   %将矩阵A左右翻转
(3)矩阵的上下翻转
函数  flipud
格式  B = flipud(A)   %将矩阵A上下翻转
例1-51
>> A=[1 2 3;4 5 6]
A =
     1     2     3
     4     5     6
>> B1=fliplr(A),B2=flipud(A)
B1 =
    3     2     1
    6     5     4
B2 =
    4     5     6
    1     2     3
(4)按指定维数翻转矩阵
函数  flipdim
格式  B = flipdim(A,dim)    % flipdim(A,1) = flipud(A),并且flipdim(A,2)=fliplr(A)。
例1-52
>> A=[1 2 3;4 5 6]
A =
     1     2     3
     4     5     6
>> B1=flipdim(A,1),B2=flipdim(A,2)
B1 =
    4     5     6
    1     2     3
B2 =
    3     2     1
    6     5     4
(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-53
>> A=[1 2;5 6]
A =
     1     2
     5     6
>> B=repmat(A,3,4)
B =
     1     2       1     2       1     2       1     2
     5     6       5     6       5     6       5     6
     1     2       1     2       1     2       1     2
     5     6       5     6       5     6       5     6
     1     2       1     2       1     2       1     2
     5     6       5     6       5     6       5     6
5.矩阵的比较关系 
矩阵的比较关系是针对于两个矩阵对应元素的,所以在使用关系运算时,首先应该保证两个矩阵的维数一致或其中一个矩阵为标量。关系运算是对两个矩阵的对应运算进行比较,若关系满足,则将结果矩阵中该位置元素置为1,否则置0。
MATLAB的各种比较关系运算有见表1-1。
表1-1
运算符	含义	运算符	含义
>	大于关系	<	大于关系
= =	等于关系	>=	大于或等于关系
<=	小于或等于关系	~ =	不等于关系
例1-54
>> A=[1 2 3 4;5 6 7 8];B=[0 2 1 4;0 7 7 2];
>> C1=A==B, C2=A>=B, C3=A~=B
C1 =
    0     1     0     1
    0     0     1     0
C2 =
    1     1     1     1
    1     0     1     1
C3 =
    1     0     1     0
    1     1     0     1
6.矩阵元素的数据变换
对于小数构成的矩阵A来说,如果我们想对它取整数,有以下几种方法:
(1)按-∞方向取整
函数  floor
格式  floor(A)   %将A中元素按-∞方向取整,即取不足整数。
(2)按+∞方向取整
函数  ceil
格式  ceil(A)   %将A中元素按+∞方向取整,即取过剩整数。
(3)四舍五入取整
函数  round
格式  round (A)   %将A中元素按最近的整数取整,即四舍五入取整。
(4)按离0近的方向取整
函数  fix
格式  fix (A)   %将A中元素按离0近的方向取整
例1-55
>> A=-1.5+4*rand(3)
A =
   2.3005    0.4439    0.3259
  -0.5754    2.0652   -1.4260
   0.9274    1.5484    1.7856
>> B1=floor(A),B2=ceil(A),B3=round(A),B4=fix(A)
B1 =
    2     0     0
   -1     2    -2
    0     1     1
B2 =
    3     1     1
    0     3    -1
    1     2     2
B3 =
    2     0     0
   -1     2    -1
    1     2     2
B4 =
    2     0     0
    0     2    -1
    0     1     1
(5)矩阵的有理数形式
函数  rat
格式  [n,d]=rat (A)   %将A表示为两个整数矩阵相除,即A=n./d。
例1-56  对于上例中的A
>> [n,d]=rat(A)
n =
       444          95         131
       -225        2059        -472
       166          48         1491
d =
   193   214   402
   391   997   331
   179    31   835
(6)矩阵元素的余数
函数  rem
格式  C = rem (A, x)   %表示A矩阵除以模数x后的余数。若x=0,则定义rem(A, 0)=NaN,若x≠0,则整数部分由fix(A./x)表示,余数C=A-x.*fix (A./x)。允许模x为小数。
7.矩阵逻辑运算
设矩阵A和B都是m×n矩阵或其中之一为标量,在MATLAB中定义了如下的逻辑运算:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -