使用求解功能时如何打印小数答案?

时间:2015-03-16 16:40:51

标签: python-3.x sympy

在求解方程式时,如何打印小数而不是分数?

a=2*12
l=38*12
x=l/2
E=29000000
i = sym.Symbol('i')
goal = l/360
string_ridge = (l**4)-(2*(l**2)*(x**2))+(l*(x**3))-(2*(a**2)*(l**2))+(2*(a**2)*(x**2))
deltax=((((Ridge_Beam_Load)*x)/(24*E*l*i))*(string_ridge))-goal
solve(deltax)

1 个答案:

答案 0 :(得分:3)

如果你只有一个变量(并且你对答案的邻域很了解),你可以使用nsolve(f(x),x,x_guess),或者,如果方程可以求解(如这种情况),只评估结果:

>>> solve(deltax,i)
[17476371*Ridge_Beam_Load/906250]
>>> _[0].n()
19.2842714482759*Ridge_Beam_Load

注意:定义x时要注意整数除法;我使用x = S(l)/ 2,其中S()将l转换为SymPy Integer而不是python int。