|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import sympy as sy
- a,b,c,d = sy.symbols("a b c d")
- eq = [a*b-21,c-d-5,a+c-8,b*d-9]
- result =sy.nonlinsolve(eq, [a,b,c,d])
- r=list(result)[0]
- print(f"a={r[0]},b={r[1]},c={r[2]},d={r[3]}")
- '''
- D:\wpp>D:/Python37/python.exe d:/wpp/test8.py
- a=21/10,b=10,c=59/10,d=9/10
- 如何令结果是浮点数
- a=2.1 b=10,c=5.9 d=0.9
- '''
复制代码
为了将符号解转换为浮点数,可以使用 SymPy 变量的 evalf() 方法。
代码修改如下:
- import sympy as sy
- a, b, c, d = sy.symbols("a b c d")
- eq = [a * b - 21, c - d - 5, a + c - 8, b * d - 9]
- result = sy.nonlinsolve(eq, [a, b, c, d])
- r = list(result)[0]
- r_float = [float(x.evalf()) for x in r]
- print(f"a={r_float[0]}, b={r_float[1]}, c={r_float[2]}, d={r_float[3]}")
复制代码
|
|