Python解方程組 scipy.optimize.fsolve()函數(shù)如何求解帶有循環(huán)求和的方程式
最近做的課題需要求解方程組,方程組還挺復(fù)雜,未知參數(shù)比較多
簡單粗暴介紹fsolve()函數(shù)用法:
假如要解方程組
x*y=6
x+y=5
先變換成右邊為0的形式
x*y-6
x+y-5
func函數(shù)中直接替換要解的方程就可
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)
結(jié)果
[2. 3.]
再看看有參數(shù)的解法:
如果有參數(shù)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)
結(jié)果
[0.32055053 9.35889894]
近似解
更復(fù)雜的方程式帶有循環(huán)求和:
附三角函數(shù)寫法
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)
結(jié)果
[0.9375 0.875 ]
到此這篇關(guān)于Python解方程組 scipy.optimize.fsolve()函數(shù)如何求解帶有循環(huán)求和的方程式的文章就介紹到這了,更多相關(guān)Python scipy.optimize.fsolve()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python結(jié)合多線程爬取英雄聯(lián)盟皮膚(原理分析)
多線程是為了同步完成多項任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率來提高系統(tǒng)的效率。這篇文章主要介紹了python爬取英雄聯(lián)盟皮膚結(jié)合多線程的方法,需要的朋友可以參考下2021-05-05Python使用CuPy模塊實(shí)現(xiàn)高效數(shù)值計算
CuPy是一個基于Python的GPU加速計算庫,它提供了與NumPy相似的接口,可以在GPU上進(jìn)行高效的數(shù)值計算,本文主要介紹一下CuPy的應(yīng)用場景,并給出一些Python代碼案例,需要的可以參考下2024-02-02TensorFlow實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)的示例代碼
?TensorFlow數(shù)據(jù)增強(qiáng)?是一種通過變換和擴(kuò)充訓(xùn)練數(shù)據(jù)的方法,本文主要介紹了TensorFlow實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)的示例代碼,具有一定的參考價值,感興趣的可以了解游戲2024-08-08將imagenet2012數(shù)據(jù)為tensorflow的tfrecords格式并跑驗(yàn)證的詳細(xì)過程
這篇文章主要介紹了將imagenet2012數(shù)據(jù)為tensorflow的tfrecords格式并跑驗(yàn)證,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09python通過函數(shù)名調(diào)用函數(shù)的幾種場景
這篇文章主要介紹了python通過函數(shù)名調(diào)用函數(shù)的幾種場景,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09python用selenium打開瀏覽器后秒關(guān)閉瀏覽器的解決辦法
最近朋友在學(xué)Selenium的時候遇到一個問題,當(dāng)執(zhí)行完selenium程序后,瀏覽器會閃退也就是自動關(guān)閉,這篇文章主要給大家介紹了關(guān)于python用selenium打開瀏覽器后秒關(guān)閉瀏覽器的解決辦法,需要的朋友可以參考下2023-07-07