Python 未解决的数学问题 - 找不到正确答案

Math problem unsolved with Python - Cannot find the right answer

我写这段代码就是为了解这个方程 其中我有 R3 (630) 和 Z (600) 的值。但是我没有设法解决方程式。在处理代码时,我收到了很多错误和一些错误的答案。 k 的答案应该是 2.33333...

import math
from sympy import symbols, Eq, solve

# ATENUADOR PI
R3 = 630
Z = 600
k = symbols('k')
AdB = symbols('AdB')
k = solve((R3 * (k ** 2 - 1) / 2 * Z))
k = max(k)

我使用的每个 k = solve(...) 收到的错误 k = solve((R3 * (k ** 2 - 1) / 2 * Z))

k = 1

k = solve(R2 * (k ** 2 - 1) / (2 * Z))

TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'

k = solve(R2=2 * Z * (k / k ** 2 - 1))

TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'

k = solve((R2 * k ** 2) - R2 - (2 * k * 2))

TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'

还有一个公式给了我1 + sqrt(2)的值,接近答案,但还是不行

考虑 R2 == R3

Solve 是求解 0,所以你可以这样做

from sympy import symbols
R3 = 630
Z = 600
k = symbols("k")
k_ans = solve(2*Z*(k/(k*k-1))-R3)
print(k_ans)

给出 [-3/7, 7/3] 作为答案。

你错误地定义了 solve() 函数的参数

正确的是:

res = solve((R3 * (k ** 2 - 1) - (2 * Z * k)))

你可以通过在纸上解这个方程来轻松地检查它

630.Z² - 2.600.Z - 630 = 0  <-> Z = -3/7 or Z = 7/3.