MATLAB線形方程式と線形システム

1.線形方程式を解き
ます1.ガウスの消去法で解きます。

通过高斯消元求简化行阶梯型矩阵:[R,p] = rref(A[,tol])
  #参数说明:
  	A:指定原矩阵
  	tol:用于确定可忽略列的主元容差
  	R:返回简化行阶梯型矩阵
  	p:返回非零主元

#实例:
>> A=[1,2,3;2,3,1;3,1,2];
>> b=[1;1;4];
>> A=[A b];
>> [R,p]=rref(A)

R =

    1.0000         0         0    1.3333
         0    1.0000         0   -0.6667
         0         0    1.0000    0.3333


p =

     1     2     3

2.LU分解で解きます。

进行LU分解:[L,U,P,Q,D] = lu(A[,thresh,outputForm])
  #参数说明:
  	A:指定原矩阵
  	outputForm:指定P的格式;为"vector"则P为置换向量,满足A(P,:) = L * U
  	thresh:指定主元消去策略的阈值
  	L,U:返回得到的L,U矩阵,满足A = L * U
  	P,Q:若只返回置换矩阵P,则满足A = P' * L * U
  	    若返回行置换矩阵P及列置换矩阵Q,则满足P * S * Q = L * U
  	D:返回对角缩放矩阵D,满足P * ( D \ S ) * Q = L * U
  	  #行缩放通常会使分解更为稀疏和稳定

#实例:
>> A=[1,2,3;2,3,1;3,1,2];
>> [L,U]=lu(A)

L =

    0.3333    0.7143    1.0000
    0.6667    1.0000         0
    1.0000         0         0


U =

    3.0000    1.0000    2.0000
         0    2.3333   -0.3333
         0         0    2.5714

若原方程组为A * x = b,其中A = L * U,则L * U * x = b,即可求解出x

3.逆行列で解きます。

>> A=[1 2 1;2 6 1;1 1 4];
>> b=[2;7;3];
>> x=inv(A)*b

x =

   -3.0000
    2.0000
    1.0000


2.線形システム1.固有値と固有ベクトルを見つけます:

y = A * v = Σ(αi * A * vi) = Σ(αi * λi * vi),其中A称为"系统矩阵"
求特征值和特征向量:e = eig(A[,B])
	    	    [V,D,W] = eig(A[,B])
  #参数说明:
  	A:指定矩阵
  	e:返回特征值构成的列向量
  	V,D:返回矩阵V,D满足A * V = V * D
  	W:返回矩阵W满足W' * A = D * W'

#实例:
>> [V,D]=eig([2 -12;1 -5])

V =

    0.9701    0.9487
    0.2425    0.3162


D =

   -1.0000         0
         0   -2.0000

2.マトリックスインデックスを見つけます。

求矩阵(自然)指数:Y = expm(X)
  #即求e^A
  #参数说明:
    X:指定矩阵
    Y:返回结果

おすすめ

転載: blog.csdn.net/weixin_46131409/article/details/113486057