Python解方程组 scipy.optimize.fsolve()函数如何求解带有循环求和的方程式
最近做的课题需要求解方程组,方程组还挺复杂,未知参数比较多
简单粗暴介绍fsolve()函数用法:
假如要解方程组
x*y=6
x+y=5
先变换成右边为0的形式
x*y-6
x+y-5
func函数中直接替换要解的方程就可
import scipy
from scipy.optimize import fsolve
def func(i):
x, y = i[0], i[1]
return [ # 这里写要求解的方程组式子,变成等于0的形式
x*y-6,
x+y-5 ]
if __name__ == '__main__':
r = scipy.optimize.fsolve(func, [0, 0])
print(r)结果
[2. 3.]
再看看有参数的解法:
如果有参数a,b需要传入
axy-6
x+by-5
import scipy
from scipy.optimize import fsolve
def func(i, params):
x, y = i[0], i[1]
a, b = params
return [ # 这里写要求解的方程组式子,变成等于0的形式
a*x*y-6,
x+b*y-5 ]
if __name__ == '__main__':
a = 2
b = 0.5
params = [a, b]
r = scipy.optimize.fsolve(func, [0, 0], args=params)
print(r)结果
[0.32055053 9.35889894]
近似解
更复杂的方程式带有循环求和:
附三角函数写法
import math math.sin(theta)
带求和符号的方程求解(这里举一个简单的例子好理解一些)

这里用sum来计算和
import scipy
from scipy.optimize import fsolve
def func(i, params):
x, y = i[0], i[1]
a, b = params
list_e1 = [x * a[j][0] + y * b[j][0] - 5 for j in range(2)]
list_e2 = [x * a[j][1] - y * b[j][1] - 2 for j in range(2)]
return [ # 这里写要求解的方程组式子,变成等于0的形式
sum(list_e1),
sum(list_e2)
]
if __name__ == '__main__':
a = [[3, 4], [3, 4]]
b = [[1, 3], [4, 1]]
params = [a, b]
r = scipy.optimize.fsolve(func, [0, 0], args=params)
print(r)结果
[0.9375 0.875 ]
到此这篇关于Python解方程组 scipy.optimize.fsolve()函数如何求解带有循环求和的方程式的文章就介绍到这了,更多相关Python scipy.optimize.fsolve()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解利用Python scipy.signal.filtfilt() 实现信号滤波
这篇文章主要介绍了详解利用Python scipy.signal.filtfilt() 实现信号滤波,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-06-06
python web 开发之Flask中间件与请求处理钩子的最佳实践
Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如身份验证、日志记录、数据预处理等功能,本文将详细介绍Flask的请求处理钩子、g对象以及中间件模式的使用方法和最佳实践,感兴趣的朋友一起看看吧2025-05-05
详解如何为eclipse安装合适版本的python插件pydev
这篇文章主要介绍了详解如何为eclipse安装合适版本的python插件pydev,pydev是一款优秀的Eclipse插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-11-11
解决遇到:PytorchStreamReader failed reading zip&n
本文针对"PytorchStreamReaderfailedreadingziparchive:failedfindingcentral"错误提出解决方案,包括检查文件完整性、文件路径,尝试更新PyTorch版本,检查压缩文件格式,代码问题,或寻求技术支持等,希望这些经验能给遇到同样问题的人一个参考2024-09-09


最新评论