【Python】值得收藏,三元一次方程组的计算,快来看看有什么新奇的~~~

104 篇文章 13 订阅
11 篇文章 0 订阅

三元一次方程组的计算对于大家来说都不陌生了,但是用编程语言来解决方程组问题想必还是会有些大聪明们有点迷糊的,今天就带大家来看看是怎么利用python实现方程组的解集的;
本文主要分成两部分:

  • 解题
  • 验算
  • 综述

解题

题目1

在这里插入图片描述

代码

import numpy as np

para_1 = [[3, 0, 4], [2, 3, 1], [5, -9, 7]]
result_1 = [7, 9, 8]

# 新建矩阵
A = np.mat(para_1)
print(A)
# 常数矩阵
b = np.array(result_1)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print("计算结果: ", dt)
print("===="*30)
print(dt[0])
print(dt[1])
print(dt[2])


结果

[[ 3 0 4]
[ 2 3 1]
[ 5 -9 7]]
[7 9 8]
计算结果: [ 5. 0.33333333 -2. ]
================================================================================
5.000000000000002
0.33333333333333265
-2.000000000000002

手算结果

在这里插入图片描述

题目2

在这里插入图片描述

代码

import numpy as np

para_2 = [[1, -1, 1], [4, 2, 1], [25, 5, 1]]
result_2 = [0, 3, 60]
# 新建矩阵
A = np.mat(para_2)
print(A)
# 常数矩阵
b = np.array(result_2)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print("计算结果: ", dt)
print("===="*30)
print(dt[0])
print(dt[1])
print(dt[2])


结果

[[ 1 -1 1]
[ 4 2 1]
[25 5 1]]
[ 0 3 60]
计算结果: [ 3. -2. -5.]
===============================================================================
3.0
-1.9999999999999996
-5.000000000000001

手算结果

在这里插入图片描述

验算

借助np.dot()方法进行验算;
分别围绕两道题目展开验算;

题目1

import numpy as np

# 新建矩阵
A = np.mat(para_1)
print(A)
# 常数矩阵
b = np.array(result_1)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print(dt)
# 验算
print(np.dot(A, dt))

[[ 3 0 4]
[ 2 3 1]
[ 5 -9 7]]
[7 9 8]
[ 5. 0.33333333 -2. ]
[[7. 9. 8.]]

题目2

import numpy as np

# 新建矩阵
A = np.mat(para_2)
print(A)
# 常数矩阵
b = np.array(result_2)
print(b)
# 求解
dt = np.linalg.solve(A, b)
print(dt)
# 验算
print(np.dot(A, dt))

结果

[[ 1 -1 1]
[ 4 2 1]
[25 5 1]]
[ 0 3 60]
[ 3. -2. -5.]
[[-8.8817842e-16 3.0000000e+00 6.0000000e+01]]

综述

这两道题目代码上大体是一致的,区别在于所给的参数不同,在计算与验算两部分,都已经证明了我们的结果是正确的,这个计算速度嘛,还是可以的,大家有什么不好计算的方程组可以记住计算机来计算哈,今天的方法就讲到这里,有兴趣的可以自己将代码敲几遍熟悉一下过程。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都吴所谓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值