应用MATLAB求解线性代数题目(四)——线性方程组

目录

求解齐次线性方程组

求解非齐次线性方程组

同解方程组


向量形式、矩阵形式的方程组

则线性表出的问题可以通过方程组求解。

求解齐次线性方程组

求齐次线性方程组的基础解系的命令:

B=null(A)   B的列向量是AX=0的规范正交的基础解系

B=null(A,'r')  B的列向量是AX=0的有理数形式的基础解系

看一个例题:

 

>> B=null(A)

B =

   -0.4005    0.2566
   -0.5362   -0.7230
   -0.6137    0.6065
    0.3747    0.1866
    0.1873    0.0933

>> B=null(A,'r')

B =

    0.5000   -0.5000
   -0.5000   -4.5000
    1.0000         0
         0    2.0000
         0    1.0000

根据命令>> B=null(A,'r')可以得到结果,即:

基础解系的两个向量分别为:(0.5,-0.5,1,0,0)' 和(-0.5,-4.5,0,2,1)'

矩阵A满秩时,方程组有唯一解,即零解。

A =

     1     2
     2     3

>> B=null(A,'r')

B =

  空的 2×0 double 矩阵

>> rank(A)

ans =

     2

求解非齐次线性方程组

对于不满秩的矩阵,方程组有无穷多的解:

>> A=[1 -1 2 1;2 -1 1 2;1 0 -1 1]

A =

     1    -1     2     1
     2    -1     1     2
     1     0    -1     1

>> B=[1 3 2]'

B =

     1
     3
     2

>> X = linsolve(A,B)
警告: 秩亏,秩 = 2,tol =  2.175584e-15。 

 可见,这种方法无法求出方程组的解。应先求出其对应齐次方程组的基础解系,再求出特解。

>> B = null(A,'r')	

B =

     1    -1
     3     0
     1     0
     0     1

这两个列向量组成基础解系;

求特解可以采用以下两种方法:

>> X = linsolve(A,B)
警告: 秩亏,秩 = 2,tol =  2.175584e-15。 

X =

    1.6667
         0
   -0.3333
         0

>> A\B
警告: 秩亏,秩 = 2,tol =  2.175584e-15。 
 

ans =

    1.6667
         0
   -0.3333
         0

 齐次解和特解组合形成方程组的全部解。

对于由唯一解的方程组,可以直接求解。(判断是否有唯一解,可先求出rank(A)和rank(A,B),判断是否相等。)

先看一下有解判定定理:

 

>> A=[1 0 3 2;0 -4 2 6;0 0 -3 -1;0 0 0 -3]

A =

     1     0     3     2
     0    -4     2     6
     0     0    -3    -1
     0     0     0    -3

>> B=[-1 -2 -2 0]'

B =

    -1
    -2
    -2
     0

>> X = linsolve(A,B)

X =

   -3.0000
    0.8333
    0.6667
         0

>> rank(A)

ans =

     4

>> rank(A,B)

ans =

     4

 此外,求出矩阵A的行最简形矩阵(reduced row echelon form)可以用rref()函数命令,在这里不做介绍。可以参考我这篇文章:

应用MATLAB求解线性代数题目(三)——n维向量

https://blog.csdn.net/m0_46732561/article/details/124480292?spm=1001.2014.3001.5502

运用这个函数命令也可以求得基础解系。

同解方程组

通过对参数的分类讨论,接下来的求解方法和上面的求解齐次线性方程组和求解非齐次线性方程组一样。

 

 我是小韩每天进步一点点,一名研0的研究生,刚开始写博客。希望和大家多多交流,一起进步!

求朋友点赞、收藏、关注哈,鼓励一下新人博主,或者提出建议。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值