Mathematica: касательная двух кривых - PullRequest
3 голосов
/ 21 декабря 2011

Я задал этот вопрос вчера, но не уверен, ясно ли я дал понять, что искал. Скажем, у меня есть две кривые, определенные как f[x_]:=... и g[x_]:=..., как показано ниже. Я хочу использовать Mathematica, чтобы определить пересечение абсцисс касательной к обеим кривым и сохранить значение для каждой кривой в отдельности. Возможно, это действительно тривиальная задача, но я ценю помощь. Я являюсь посредником в Mathematica, но я не смог найти решение где-либо еще.

enter image description here

Ответы [ 2 ]

11 голосов
/ 21 декабря 2011
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

Обратите внимание, что будет много функций f и g, для которых вы не найдете решения таким образом.В этом случае вам придется прибегнуть к численным методам решения задач.

2 голосов
/ 21 декабря 2011

Вам просто нужно решить систему уравнений:

Общая касательная линия y = a x + b.

Общий уклон a = f'(x1) = g'(x2)

Общие точки: a x0 + b = f(x0) и a x1 + b = g(x1).

В зависимости от характера функций f и g это может не иметь ни одного, ни нескольких решений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...