QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1201|回复: 0
打印 上一主题 下一主题

用MATLAB解线性方程组

[复制链接]
字体大小: 正常 放大
普大帝        

832

主题

28

听众

3万

积分

  • TA的每日心情
    奋斗
    2024-4-18 15:56
  • 签到天数: 515 天

    [LV.9]以坛为家II

    网络挑战赛参赛者

    自我介绍
    我是普大帝,拼搏奋进,一往无前。
    跳转到指定楼层
    1#
    发表于 2022-7-10 11:30 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    原发表于数学中国微信公众号,关注数学中国微信公众号可查看更多。请用电脑查看,手机版图片可能无法正常显示。
    设有n个变量,m个方程,方程组的系数矩阵为A,常数项列向量为b,则A为m×n矩阵,b为m×l矩阵,方程组可写为Ax=b
    其中x为n个变量构成的列向量,若rank(A)=m,且m=n,则方程有唯一解,称为恰定方程组;设B=(A|b)为增广矩阵,且若rank(A)≠rank(B),则方程组无解,称为超定方程组;rank(A)=rank(B)=r<m,则方程有无穷多组解,称为欠定方程组。若b中元素全为0,称方程组为齐次线性方程组。
    齐次线性方程组的求解
    对于齐次线性方程组Ax=0,由线性代数知识知,它至少有一零解,若rank(A)<m,则它有无穷多组解。在MATLAB中有一个非常有用的函数B=null(A),它返回了矩阵A的零空间的标准正交基组成的矩阵B,使得BTxB=E,B的列数等于矩阵A的零空间的维数,即B的列向量构成了线性方程组的一组标准正交基础解系。
    例:解方程组:
    在MATLAB中输入:
    因而,原方程组的通解为
    其中k1与k2为任意常数。
    例5.2.2 求方阵A的含有最多零元素个数的解。
    在例5.2.1求解后,运行:
    则有
    故方程组的通解为
    恰定方程组的求解
    恰定方程组Ax=b的求解比较简单。一般可用两种方法:一种是利用逆矩阵求解:x=inv(A)b;另一种是用除法求解x=A\b。两种方法的异同点是:算法上都采用Guass消去法,但用除法求解时,无需求A的逆,这样可以很好地保证求解时的计算精度,还能节省大量的计算时间。当然也可以用Cramer法则求解方程组。
    比较多种形式求解恰定方程组:
    结果为:
    由结果可知,用除法耗时最少,大约只有逆矩阵法的1/3,而Cramer法则约是它的85倍;而从误差分析来看,仍然是除法最精确。可见,用除法求解恰定方程组,既省时又精确。值得注意的是,利用逆矩阵inv(A)求解时,若A不是方阵,则要用广义逆pinv(A)来求。
    超定方程组的求解
    由于超定方程组无解,而在实际应用中,能求得其最小二乘解也是有意义的,这时,方程组的求解仍可用除法和广义逆矩阵法,不过这样求得的解不会满足Ax=b,而是其最小二乘意义下的解,即解x=inv(ATA)ATb。如:
    方程组的求解的除法和广义逆矩阵法。
    执行后有:
    欠定方程组的求解
    从理论上说,欠定方程组有无穷多组解。这时,我们仍然可用广义逆矩阵法和矩阵除法求解方程组,但前者所求的解是所有解中范数最小的一个,而后者所求的解是所有解中含零个数最多的一个,因而两种解法的结果一般会有所不同。但它们求出的解是所有解系中的一个特解,要求其通解,则先解其对应的齐次方程的通解,然后再加上自身的一个特解即可。值得注意的是,用除法求解欠定方程组时,会提出警告,并给出系数矩阵的秩,但警告并不会影响方程求解,如用除法求解欠定方程组Ax=b。
    结果显示:
    故方程组的通解为



    关注数学中国微信与微博查看更多

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持1 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-20 10:32 , Processed in 0.344967 second(s), 49 queries .

    回顶部