Как восстановить значения функции в области

mym1962

Есть область на плоскости, в ней задана гладкая но не голоморфная функция и известны ее значения на границе области. Как аппроксимировать\интерполировать ее значения внутри области?
Гуглил multivariate interpolation и multivariate approximation, но чего-то специфического, чтобы именно с границ восстанавливать, не нашел

lenmas

Потому что на границе может быть любая одна наперед заданная функция, а строго внутри области --- другая любая
наперед заданная функция.
Если хочешь формулу для восстановления любой функции, то гугли формулу Коши-Грина, но там участвует
площадной интеграл от частной производной по [math]$\bar z$[/math]

sashok01

Таких функций дохуя. Голоморфная функция g(x) с заданным значением на границе - единственная. Если она найдена (например как численное решение задачи Дирихле то к ней можно прибавить любую функцию f(x которая на границе равна нулю - искомая функция h(x)=g(x)+f(x). Таких функций очевидно дохуя (например, если найдена такая функция f(x что f(x) на границе равна нулю, то вместо нее подойдет также 2f(x 3f(x) и т.д.). Тебе нужны какие-то дополнительные соображения (например, минимум кривизны функции h(x) или взять f(x)==0, тогда h(x) будет голоморфной, или еще что-то).

mym1962

Я неточно сформулировал как-то. Нужно, чтобы
а). Получившаяся функция была гладкой
б). Алгоритм ее вычисления был БЫСТРЫМ
Я попробовал пока IDW но он работает очень долго. Надо что-то побыстрей. Пробовал убыстренный IDW , но результаты плохие.
Функция точно не голоморфная и не антиголоморфная, так что ф-ла Коши не подойдет.
Может, диффур какой составить?

BSCurt

Тебе сказали, но ты всё равно тупишь, таких функций до черта, с совершенно разными свойствами, никаких канонических выборов, без дополнительных условий нет.
Может, диффур какой составить?
Первая краевая задача для уравнения Лапласа?

kachokslava

функция на границе задана каким образом? сколько-то точек на границе?
не компостируйте мозг - берите многочлен лагранжа.

tester1

таких функций до черта, с совершенно разными свойствами
он же сказал, что ему сгодится любая, лишь бы была гладкая и вычислялась быстро
Ваш КО

mym1962

Ну напиши хоть одну, чтобы быстро вычислялась

seregaohota

Первая краевая задача для уравнения Лапласа?
она даст или соответсвующую голоморфную, или её действительную часть - нет разве?

seregaohota

берите многочлен лагранжа
он по-идее численно неустойчив - чуть пошевелишь исходные данные - получишь совершенно другой ответ - пример в книге Форсайт, Малькольм, Моулер, не помню имени кого,когда в одномерном случае приближают функцию типа 1/(1+x^2) с полюсами в i и -i, приближают Лагранжем 20 степени на действ.оси - получают лажу чуть пошевелив на уровне машинного эпсилон значения функции в заданных точках.

Lene81

он по-идее численно неустойчив
Он не просто численно неустойчив — интерполяция по равномерной сетке точек вообще не сходится поточечно для некоторых функций, а пример 1/(1 +25x^2) — это иллюстрация, называется явление Рунге.

seregaohota

Первая краевая задача для уравнения Лапласа?
она даст или соответсвующую голоморфную, или её действительную часть
может это кстати то, что нужно топикстартеру
если значения на границе прямоугольника - то там просто на прямоугольной сетке тупо итерациями можно вычислять среднее арифметич.4 соседних вершин, есть и быстрее алгоритмы
Но всё равно это как тут объясняли найдёт голоморфную f - конкретное частное решение неоднородной СЛАУ, к которой можно добавить любое решение однородного - абсолютно от фонаря любую функцию на сетке внутри области - лишь бы на границе была 0.

seregaohota

а да, Рунге, точно, спасибо

seregaohota

можешь сделать проволочный каркас чтоб по высоте совпадал со значениями функции если действительная - натянуть на него мыльную плёнку и эту поверхность обмерять и скормить твоей программе :)
По-моему поверхность наименьшей кривизны будет

Lene81

По-моему поверхность наименьшей кривизны будет
Наименьшей площади, вроде, т.к. минимизируется поверхностная энергия, которая прямо пропорциональна \sigma dS, где \sigma — поверхностное натяжение.

seregaohota

да, наверно, туплю

Mausoleum

А гравитацию в карман засунете?

Lene81

А гравитацию в карман засунете?
Ну учтите поправку, разрешаю. Особливо для мыльной пленки.

mym1962

абсолютно от фонаря любую функцию на сетке внутри области - лишь бы на границе была 0
Отлично, а как мне найти такую?
Область непрямоугольная, абсолютно любой формы может быть.

Red_Fighter

Ну вот, например, тупой и быстрый метод для функций, заданных на сетке.
для каждой "неизвестной" точки T находишь ближайшие граничные точки на той же горизонтали L и R, вертикали U и D.
f(T) определяешь как взвешенную сумму этих точек. вес каждой точки обратно зависит от расстояния.
"негладкость" не превосходит таковой на границах.

mym1962

Кто еще что может посоветовать?

seregaohota

метод граничных элементов посмотри
Оставить комментарий
Имя или ник:
Комментарий: