2016-10-26 105 views
1

我有一個四個方程的線性系統,其中有四個變量$ a,b,c,d $和兩個參數$ i,h $,其中方程大致爲 $$ ah^3 i^3 + bh^2 i^2 + chi + d = 0 $$解決帶參數的線性系統

我想以$ i,h $的形式獲得$ a,b,c,d $。

這可能在SymPy中嗎?如果沒有,有人可以推薦如何在其他方面做到這一點?

+0

看來你正在處理的線性方程系統,這當然是可能的Sympy解決(參見['solve'](HTTP:// docs.sympy.org/dev/modules/solvers/solvers.html#sympy.solvers.solvers.solve)) – Stelios

+0

我試過了,作爲答案,我從其他所有人那裏獲得了一個變量(只從一個人獲得的東西一個方程)。對於一些更簡單的系統,我已經得到了我所需要的,但在這裏,儘管我手上計算出可以根據參數獲取變量,但我不明白這一點。 –

+1

請發佈實際方程 – Stelios

回答

0

爲了完整起見,答案是肯定的,在Sympy中solve解決了具有參數的方程組。用公式的一個例子,你說:

from sympy import * 
var('a b c d i h') 
eqns = [a*h**3*i**3 + b*h**2*i**2 + c*h*i + d, a+b+c+d, a-b*h*i**2 -c - d, a+b+c-h**2 - i**2] 
solve(eqns, [a,b,c,d]) 

solve第一個參數是方程列表,變量來解決第二個名單。輸出是一個解決方案,呈現爲詞典:

{c: (h**2 + i**2)*(-h**4*i**5 + h**3*i**3 - 2*h**2*i**2 + h*i**2 + 1)/(h*i*(-h**3*i**4 + h**2*i**2 + h*i**2 - 2*h*i + 1)), 
b: -(2*h**2 + 2*i**2)/(h*i*(h**2*i**3 + h*i**2 - h*i + 1)), 
a: (-h**3*i**2 + h**2 - h*i**4 + i**2)/(h*i*(h**2*i**3 + h*i**2 - h*i + 1)), 
d: -h**2 - i**2}