如何根据拟合函数的指定y值求解对应的x值?
求解拟合函数y=1/√2对应的x值
数学推导
你的拟合函数定义为:
def cutoff(x, A): return 1 / (1 + (2 * np.pi * A * x)**2)**0.5
当y等于1/√2时,代入函数解方程:
- 等式两边平方:
1/(1+(2πA x)²) = 1/2 - 交叉相乘化简:
1 + (2πA x)² = 2 - 移项得:
(2πA x)² = 1 - 开平方后解得:
x = ±1/(2πA)
代码实现
利用你拟合得到的popt结果(其中第一个元素是最优参数A),直接计算对应的x值:
import numpy as np # 提取拟合得到的A值 A_fit = popt[0] # 计算y=1/√2对应的x值(根据你的x数据范围选择正/负解) x_positive = 1 / (2 * np.pi * A_fit) x_negative = -1 / (2 * np.pi * A_fit) # 验证计算结果 y_verify = cutoff(x_positive, A_fit) print(f"验证:x={x_positive:.6f}时,y={y_verify:.6f}(目标y值为{1/np.sqrt(2):.6f})")
如果你的原始x数据都是正值,只需要取x_positive即可。
内容的提问来源于stack exchange,提问作者nrnrnr
相关产品推荐
相关产品推荐

