0

我正在尝试定位两条曲线的三个交点。一个是v1(u) = u - u^3,另一个是v2(u) = (u-a0)/a1(其中 a0 和 a1 是一些参数)。到目前为止,我已经设法弄清楚如何绘制交叉点:

import matplotlib.pyplot as plt
import numpy as np
u = np.linspace(-2,2,1000)
a0 = 0
a1 = 2
v1 = u - u**2
v2 = (u - a0)/a1
plt.plot(u,v1, 'g-')
plt.plot(u,v2, 'b-')
idx = np.argwhere(np.isclose(v1, v2, atol=0.1)).reshape(-1)
plt.plot(u[idx], v1[idx], 'ro')
plt.show()

问题是如何获得u三个交点的值。

4

1 回答 1

1

求解二次方程 ang 得到这两个(或一或零,取决于系数;但显然不是三个)交点:

在此处输入图像描述

但是,如果您正在寻找一种方法来计算绝对自定义函数的交集,唯一的方法是数值方法,请参阅求根算法

要解析求解三次方程,您可以尝试Cardano 方法或 Wiki 上描述的其他方法。

于 2015-12-29T10:55:24.580 回答