Mathematica:两条曲线的切线

时间:2011-12-21 15:26:11

标签: wolfram-mathematica

昨天我问了这个问题,但不确定我是否明确了我在寻找什么。假设我有两条曲线定义为f[x_]:=...g[x_]:=...,如下所示。我想使用Mathematica来确定两条曲线的切线的横坐标交点,并分别存储每条曲线的值。也许这真是一项微不足道的任务,但我确实感谢你的帮助。我是Mathematica的中间人,但这是我无法找到其他地方的解决方案。

enter image description here

2 个答案:

答案 0 :(得分:11)

f[x_] := x^2
g[x_] := (x - 2)^2 + 3

sol = Solve[(f[x1] - g[x2])/(x1 - x2) == f'[x1] == g'[x2], {x1, x2}, Reals]

(* ==> {{x1 -> 3/4, x2 -> 11/4}} *)

eqns = FlattenAt[{f[x], g[x], f'[x1] x + g[x2] - f'[x1] x2 /. sol}, 3]; 
Plot[eqns, {x, -2, 4}, Frame -> True, Axes -> None]

enter image description here

请注意,有许多功能fg,您将无法以这种方式找到解决方案。在这种情况下,您将不得不求助于数值问题解决方法。

答案 1 :(得分:2)

你只需要解决一个联立方程组:

公共切线为y = a x + b

常见斜率为a = f'(x1) = g'(x2)

共同点是a x0 + b = f(x0)a x1 + b = g(x1)

根据函数fg的性质,这可能没有,一个或多个解决方案。