尝试求解隐式方程时发生UnboundLocalError“赋值前引用”

2024-04-26 13:59:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试解这个隐式方程时出错了:

y = x^3 +sqrt(y)

问题:在x = [0, 1, 2.5, 2.8, 3, 3.2]时找到y。你知道吗

"UnboundLocalError: local variable 'y' referenced before assignment"

如何解决这个问题:

from math import *
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import fsolve

def f(x):
    y = np.power(x,3.0) - sqrt(y)
    return y

x = [0, 1, 2.3611, 2.9033, 3.2859, 3.5915]
x= fsolve(f, 0)

print(x)

Tags: fromimportnumpylocalasnpmathsqrt
1条回答
网友
1楼 · 发布于 2024-04-26 13:59:14

而不是:

y = np.power(x,3.0) - sqrt(y)

您可以尝试:

y = np.power(x,3.0)
y = y - sqrt(y)

声明变量y时该变量不存在

相关问题 更多 >