MATLAB 线性方程组与线性系统

一.求解线性方程组
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

二.线性系统
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:返回结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值