import numpy as np
result = np.roots(a)
a是方程的係數向量
a =[
an,a
n−1,
...,
a1,a
0]
a=[a_,a_,...,a_,a_]
a=[an
,an−
1,.
..,a
1,a
0]代表求解方程
a nx
n+an
−1xn
−1+.
..+a
1x+a
0=
0a_x^+a_x^+...+a_x+a_=0
anxn+
an−1
xn−
1+..
.+a1
x+a
0=0
1、有唯一解:
from numpy.linalg import solve
result = solve(a, b)
求解線性方程組 ax = b
2、無唯一解:
from numpy.linalg import lstsq
result = lstsq(a, b)
求解線性方程組 ax = b 的最小二乘解
from scipy.optimize import fsolve
result = fsolve(func, x0, xtol=
1.49012e-08
)
func:函式,求解方程 func = 0,若求解方程組,可以在定義func的時候輸出多個值
x0:初始的解,即從該點開始尋找方程(組)的解
xtol:如果兩次連續迭代之間的相對誤差不大於「xtol」,則計算將終止
from scipy.integrate import solve_ivp
result = solve_ivp(fun, t_span, y0, method=
'rk45'
, t_eval=
none
)
fun:函式表示式,作用形式是dy/dt=fun(t,y)
t_span:元組形式,求解的自變數上下限
y0:陣列形式,自變數取t_span中的初始值時的函式值
method:求解方法,可選擇』rk45』、『rk23』、『dop853』、『radau』、『bdf』、『lsoda』
t_eval:陣列形式,結果會給出自變數取該陣列每個元素的值時的數值解
常微分方程數值解法 python實現
研究生課程 應用數值分析 結課了,使用python簡單記錄了下常微分方程數值解法。y y i h i f x i,y i y 0 y a end right y x y 1 0 leq x leq 1 y 0 1 end right yi format xi,yi xi,yi xi h,y retu...
非線性方程的數值解法
許多問題都可以歸結為求解一元函式方程 0.若?為?次多項式,則稱其為?次多項式方程或代數方程 若?為超越函式,則稱其為超越方程 求解一元函式方程 0 可大致分為三個步驟 1.二分法 原理 若 f 在 a,b 上連續,且 f a f b 0,則 f 在 a,b 上至少有一實根。基本思想 逐步二分區間 ...
線性方程組的數值解法
1.向量與矩陣的範數 norms of vectors and matrices 為了研究線性方程組數值解法的誤差估計和迭代法的收斂 性,有必要引進向量範數和矩陣範數的概念。歐式範數 設?1,2,1,2,稱 累加1 n 的?為向量?與?的內積,稱非負實數 2 根號 累加1 n的 2的1 2次方為向量...