Нахождение пересечения между чем-то и линией - PullRequest
1 голос
/ 26 сентября 2010

У меня есть набор точек, которые интерполируются неизвестным методом, или, если быть более точным, метод известен, но он может быть одним из нескольких - это может быть полиномиальная интерполяция, сплайн, простая линейная ... -и строка, которая, давайте пока представим, что она дана в простой форме y = ax + b .

Для интерполяции я не знаю, какой метод используется (т.е.функция скрыта ), поэтому я могу определить y только для некоторого x и, в равной степени, x для заданного значения y.

Как обычно можно найти пересечение междудва?

Ответы [ 3 ]

1 голос
/ 26 сентября 2010

Скажите, что ваша неизвестная функция - y = f(x), а строка - y = g(x) = ax + b. Пересечение этих кривых будет нулем Δy = f(x) - g(x). Просто используйте любой итерационный метод , чтобы найти корни Δy - проще всего было бы использовать метод деления пополам .

1 голос
/ 26 сентября 2010

У вас есть (полином интерполяции) f1 (x) и (линия) f2 (x), и вы хотите решить f (x) = f1 (x) -f2 (x) = 0. Используйте любой метод для решения этого уравнения, например Ньютон-Рафсон или даже бисекция . Это может быть не самым оптимальным для вашего случая. Обратите внимание на гарантии сходимости и возможные множественные корни.

0 голосов
/ 26 сентября 2010

Сплайн: отсечение Безье .
Полином: формулы Виете (чтобы получить нули, я думаю ).
Линия: Линия-линия .

Ни при каких обстоятельствах не является тривиальным вопросом (или решением).

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