用python求解方程

时间:2015-11-24 20:20:50

标签: python python-3.x equation

我在解决这个等式时遇到了问题:

ra = (1.5 * (ca - (ra/2))/(1 + 0.8 * (ca - (ra/2))))

我必须输入变量“ ca ”作为浮点数,然后python必须找到“ ra ”的值

提前致谢

3 个答案:

答案 0 :(得分:2)

您可以使用{{ hostvars['localhost']['app_git_sha1'] }} 库执行此类操作。

http://docs.sympy.org/dev/index.html

sympy

显然,您需要从用户那里获取>>> from sympy import * >>> from sympy.solvers import solve >>> ca, ra = symbols("ca ra") >>> eq = -ra + (1.5 * (ca - (ra/2))/(1 + 0.8 * (ca - (ra/2)))) >>> print(eq) -ra + (1.5*ca - 0.75*ra)/(0.8*ca - 0.4*ra + 1) >>> solutions = solve(eq, ra) #solve equation for ra >>> print(solutions) [ca - 0.0625*sqrt(256.0*ca**2 + 160.0*ca + 1225.0) + 2.1875, ca + 0.0625*sqrt(256.0*ca**2 + 160.0*ca + 1225.0) + 2.1875] >>> values = [s.replace(ca, 5) for s in solutions] #get solutions for ca=5 [1.45076257791068, 12.9242374220893] 的号码,而不是仅仅为ca求解。

答案 1 :(得分:1)

你在“ra”的定义中使用“ra”。你应该通过解决这个等式摆脱右侧的“ra”(你可以使用不同的工具,如wolframalpha或matlab或你的纸和笔)。

答案 2 :(得分:0)

您需要找到一种方法将您的值输入ca并声明它是一个浮点数。

input经常在命令行应用程序(在终端中工作)中用于此类目的,但如果您使用的是早期的Python解释器,则需要查看raw_input

类似的东西:

ca = input('Please type a float: ')

这应该让你开始。您需要断言ca是一个浮点数(请查看assert作为处理这种情况的可能选项。)

然后你应该创建一个以ca为参数并输出ra

的函数

这样的东西
def calculate(n):
    ...
    return x