2016-10-26 63 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}