猿问

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

我编写这段代码的目的是求解这个方程,

其中我有 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))

类型错误: ** 或 pow() 不支持的操作数类型:“list”和“int”

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

类型错误: ** 或 pow() 不支持的操作数类型:“list”和“int”

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

类型错误: ** 或 pow() 不支持的操作数类型:“list”和“int”

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

考虑 R2 == R3


月关宝盒
浏览 133回答 3
3回答

繁星点点滴滴

Solve 正在求解 0,所以你可以这样做from sympy import symbolsR3 = 630Z = 600k = symbols("k")k_ans = solve(2*Z*(k/(k*k-1))-R3)print(k_ans)这给出了[-3/7, 7/3]答案。

HUWWW

您错误地定义了solve()函数的参数正确的是:res = solve((R3 * (k ** 2 - 1) - (2 * Z * k)))您可以通过在纸上解这个方程来轻松检查它

浮云间

630.Z²&nbsp;-&nbsp;2.600.Z&nbsp;-&nbsp;630&nbsp;=&nbsp;0&nbsp;&nbsp;<->&nbsp;Z&nbsp;=&nbsp;-3/7&nbsp;or&nbsp;Z&nbsp;=&nbsp;7/3.
随时随地看视频慕课网APP

相关分类

Python
我要回答