MATLAB学习笔记(六) 因式分解、概率与数理统计

本文详细介绍了MATLAB在数值计算方面的方法,包括因式分解的多种方式如Cholesky、LU和QR分解,以及矩阵的特征值、奇异值等。同时,文章还探讨了概率与数理统计的基础操作,如求和、累积和、积、排序、统计函数(如mean、median、std)以及概率分布和相关系数的计算。
摘要由CSDN通过智能技术生成

因式分解

行列式、逆、秩

  • det(A) 行列式
  • rank(A) 矩阵A的秩
  • inv(A) 矩阵A的逆矩阵,非方针和奇异矩阵(不是满秩的矩阵)会报错
  • pinv(A) 求A的伪逆矩阵,是逆矩阵的广义化。
  • trance(A) 求矩阵A的迹,就是对角线元素之和
    伴随矩阵求法:
    A* = compan(B)
    A* = inv(A) * det(A)

Cholesky 因式分解

正定矩阵定义:A是n阶方阵,如果对任何非零向量x,都有xTAx>0,其中xT 表示x的转置,就称A正定矩阵。
Cholesky 因式分解是将A分解为一个上三角矩阵R和其转置矩阵的乘积。对应表达式:

A = R’R

条件:正定矩阵

>> a = pascal(6)%初始化
>> R = chol(a)

R =

     1     1     1     1     1     1
     0     1     2     3     4     5
     0     0     1     3     6    10
     0     0     0     1     4    10
     0     0     0     0     1     5
     0     0     0     0     0     1
>> R'* R == a%证明其等价关系

ans =

  6×6 logical 数组

   1   1   1   1   1   1
   1   1   1   1   1   1
   1   1   1   1   1   1
   1   1   1   1   1   1
   1   1   1   1   1   1
   1   1   1   1   1   1

LU因式分解

LU分解用于简化大矩阵行列式的计算过程、矩阵求逆和连立方程组的求解
注意:结果不唯一
调用:
[L,U] = lu(A)
对于Ax = b的求解
x = U(L\b)

‘\’是左除符号,左除左边的矩阵

验证:

>> a = pascal(3)

a =

     1     1     1
     1     2     3
     1     3     6

>> [L U] = lu(a)

L =

    1.0000         0         0
    1.0000    0.5000    1.0000
    1.0000    1.0000         0


U =

    1.0000    1.0000    1.0000
         0    2.0000    5.0000
         0         0   -0.5000

>> L * U

ans =

     1     1     1
     1     2     3
     1     3     6

QR因式分解

若A为正交矩阵,则A’A = 1
QR分解即为正交分解,将A分为一个单位正交矩阵和上三角矩阵

A = QR

验证

>> a = magic(3)

a =

     8     1     6
     3     5     7
     4     9     2


>> [Q R] = qr(a)

Q =

   -0.8480    0.5223    0.0901
   -0.3180   -0.3655   -0.8748
   -0.4240   -0.7705    0.4760


R =

   -9.4340   -6.2540   -8.1620
         0   -8.2394   -0.9655
         0         0   -4.6314

>> Q * R

ans =

    8.0000    1.0000    6.0000
    3.0000    5.0000    7.0000
    4.0000    9.0000    2.0000

>> 

范数

范数是一个标量,用来衡量向量的长度。
范数 != 向量的元素个数

函数 含义 数学含义
norm(X) 欧几里得范数 根号下xk绝对值的平方和
norm(X,inf) 求♾范数 x绝对值最大值
norm(X,1) 求1范数 xk绝对值的和
norm(x,p) p范数 p可以是任意值
>> x = [2 4 5]

x =

     2     4     5

>> norm1 = norm(x)

norm1 =

    6.7082

>> norm2 = norm(x,1)

norm2 =

    11

>> norm3 = norm(x,inf)

norm3 =

     5

>> norm4 = norm(x,4)

norm4 =

    5.4727

矩阵的特征值和奇异值

E = eig(A) 求出A的全部特征值,构成向量E
[V,D] = eig(A)求出A的全部特征值,构成D,特征向量,构成V

>> A = [1,-3;2,2/3]

A =

    1.0000   -3.0000
    2.0000    0.6667

>> [V,D] = eig(A)

V =

   0.7746 + 0.0000i   0.7746 + 0.0000i
   0.0430 - 0.6310i   0.0430 + 0.6310i


D =

   0.8333 + 2.4438i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.8333 - 2.4438i
求解x4 -2x3 +3x2 +4x-5 = 0 的根

思路:伴随矩阵的特征根即为方程的根。

>> B = [1,-2,3,4,-5]

B =

     1    -2     3     4    -5

>> A = compan(B)

A =

     2    -3    -4     5
     1     0     0     0
     0     1     0     0
     0     0     1     0

>> C = eig(A)

C =

   1.1641 + 1.8573i
   1.1641 - 1.8573i
  -1.1973 + 0.0000i
   0.8691 + 0.0000i

奇异值

如果存在两个矢量 u , v u,v u,v以及一个常数 s s s使得矩阵A满足
A v = s u Av = su Av=su
A ′ u = s v A'u = sv Au=sv
则称 s s s为奇异值, u , v u,v u,v为奇异矢量.
奇异值分解是一种正交矩阵分解法
调用
[U,S,V] = svd(A)
A = U * S * V’

概率与数理统计

sum函数,和

用于求矩阵列向量的和
B = sum(A) 若A为向量,返回元素和,若A为矩阵,返回列向量和(存放在一个行向量中)
B = sum(A,dim) 对dim维度求和

comsum函数,累计和

B = comsum(A) 同上,返回的是一个加和,
B = comcum(A,dim)同上

prod函数,积

B = prod(A) 如果A是向量,返回所有元素的积,如果A是矩阵,返回各列元素的积
B = prod(A,dim) 同上。

comprod 函数,累积

同上

sort函数

B = sort(A)对A进行默认升序排序。输入A可以是向量、矩阵和字符串
B = sort(A,dim) 对第dim维度进行升序排列
B = sort(…,mode) mode是升序降序’ascend’ ‘descend’
[B,IX] = sort(A,2) 排序并且返回下标

sortrows函数

B = sortrows(A) 对A进行升序排列
B = sortrows(A,column) 基于column列进行升序排列
[B,index] = sortrows(A…) 同时返回索引表

max和min函数

max(A) 如果是向量 返回最大的元素,如果是矩阵,返回列向量最大
max(A,B) 返回每个元素为止A,B的大的那个
[C,I] = max() 同时返回下标
max(A,[],dim)返回A中dim维度的最大值,1 是列2 是行

mean 函数

M = mean(A) 求平均值
M = mean(A,dim)

median函数

求中值
median(A)
median(A,dim)

std函数

标准差
(1) s = ⟮ 1 n − 1 ∑ i = 1

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值