c语言求解非线性方程组_C语言求解线性方程组

a31af38a3f933e666a6042244b1d2628.png
在之前的文章C语言实现矩阵求秩和化约化阶梯形中,我们已经实现了求矩阵的秩与约化阶梯形,在此基础上,我们就可以来求解线性方程组了.

一、知识储备

• 一般线性方程组

的系数矩阵记为
,增广矩阵记为
;有如下性质:
  1. 当且仅当
    时,线性方程组有解;

2. 当

时,方程组有唯一解;否则方程组有无穷多个解,这时,不存在阶梯头的列对应的未知量就是自由未知量. 显然,自由未知量的个数即为n - r个.

二、具体实现

  1. 首先以增广矩阵的形式输入线性方程组,利用"matrix.h"头文件中的求秩函数分别计算增广矩阵系数矩阵的秩,然后判断是否有解;
  2. 如果方程有解,再看秩是否与未知量个数相同来判断方程组是有无穷解还是唯一解
  3. 如果有方程组有唯一解,则只需借助求约化阶梯形功能得到约化阶梯形的增广矩阵,依次输出矩阵的最后一列元素即可;
  4. 如果方程组有无穷解,则需要找到自由未知量,然后用未知自由量表示其他的量,获得一个通解的表达式. 在表达过程中,要注意几个常见问题:需要用连续的字母或者带连续下标的字母表示自由未知量;等号后的第一个数或字母前没有加号,只在数或系数为负数时显示减号;如果系数或者数为零,这一项不应出现在解的表达式中;如果系数是 1或者 -1,应当省略不表.

依据上述思路,写出的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值