2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Функция двух переменных заданная таблицей и её производные
Сообщение28.07.2008, 13:15 


21/06/08
39
Функция двух переменных задана не аналитическим способом (не формулой), а табличным: набор пар аргументов и соответствующих им значений этой функции. Существует ли способ находить частные производные для каждой из представленных пар аргументов?

 Профиль  
                  
 
 
Сообщение28.07.2008, 13:44 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Можно, например, решить сначала задачу интерполяции (это можно сделать разными методами) и по найденной интерполяционной функции f(x,y) найти её производную (причём в любой точке). Правда, тут надо, чтобы сама f(x,y) была дифференцируемой, поэтому не каждый способ интерполяции подойдёт.

 Профиль  
                  
 
 
Сообщение28.07.2008, 14:24 


21/06/08
39
Да, мне это уже предложили. Но я слышал, что существуют методы, позволяющие находить приближённые производные для дискретных функций без интерполяции, используя только табличные данные... Не в курсе?

 Профиль  
                  
 
 
Сообщение28.07.2008, 15:43 


28/05/08
284
Трантор
Это как? Было бы очень любопытно взглянуть. Даже примитивнейший метод оценки производной (функции одной переменной, для многих аналогично) через $\frac{f(x+h)-f(x)}{h}$ (то есть ничего, кроме табличных данных не используем) по сути дела основан на линейной интерполяции.

 Профиль  
                  
 
 
Сообщение28.07.2008, 15:44 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Конечно, можно придумать аналоги одномерных разностных аппроксимаций.
Пусть, например, для данной табличной точки существует содержащий её выпуклый многоугольник, вершинами которого также являются табличные точки. Тогда можно найти первую производную вдоль какого-то направления, проведя через данную точку прямую вдоль этого направления, найдя точки пересечения этой прямой со сторонами многоугольника, вычислив значения функции в этих точках пересечения линейной интерполяцией, и сведя таким образом задачу к одномерному случаю.

 Профиль  
                  
 
 
Сообщение28.07.2008, 15:45 


29/09/06
4552
Mr. Demetrius писал(а):
Но я слышал, что существуют методы, позволяющие находить приближённые производные для дискретных функций без интерполяции, используя только табличные данные...

"Используя только табличные данные" означает, что залезли в таблицу и вынули производную. У Вас случай не тот. Надо что-то взять из таблицы и повычитать, поделить, поусреднять. Т.е. выполнить какую-нибудь, самую примитивную, интерполяцию. Хотя бы по двум соседним точкам (закрыв глаза на тот факт, что точка слева ничем не хуже точки справа).
Моё мнение: обойтись без интерполяции можно, назвав её, интерполяцию, каким-нибудь другим словом.

 Профиль  
                  
 
 
Сообщение28.07.2008, 15:46 


28/05/08
284
Трантор
Да, кстати, а уточнить постановку задачи можно? В каких именно точках задана функция? Что о ней известно (из какого она класса, например)?

 Профиль  
                  
 
 
Сообщение28.07.2008, 15:48 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Narn в сообщении #135936 писал(а):
Даже примитивнейший метод оценки производной... по сути дела основан на линейной интерполяции.

Разумеется, это так.
Но в моём первом сообщении я имел в виду глобальную гладкую интерполяцию, которая в вычислительном плане довольно сложна. Видимо, речь идёт о том, можно ли обойтись без такой интерполяции. Алексей К. опередил.

 Профиль  
                  
 
 
Сообщение28.07.2008, 16:08 
Заслуженный участник


11/05/08
32166
Если сетка равномерная и значения производных нужны только в узлах, то для их оценки можно использовать формулу Тейлора. Этот способ напрямую с интерполированием не связан и позволяет получать более конкретные оценки погрешности. Например, в стандартных

$$ f'(x_i)={f(x_{i+1})-f(x_{i-1})\over 2h}-{h^2\over6}f'''(\xi)\;, $$

$$ f''(x_i)={f(x_{i+1})-2f(x_i)+f(x_{i-1})\over h^2}-{h^2\over12}f^{(4)}(\xi) $$

остаточные члены так просто из интерполяционного не выведешь.

Кстати, продвинувшись чуть дальше, теми же формулами Тейлора последний результат легко уточняется:

$$ f''(x_i)={f(x_{i+1})-2f(x_i)+f(x_{i-1})\over h^2}-{h^2\over12}f^{(4)}(x_i)+O(h^4)\; $$

Это бывает полезно.

 Профиль  
                  
 
 
Сообщение28.07.2008, 18:28 


28/05/08
284
Трантор
worm2, я о том же, что и Алексей К. писал. То есть, как ни крути, но где-то там интерполяция сидит. Просто выразился хуже. А то что Вы глобальную интерполяцию предлагаете, я понял. Поэтому и написал про другой, самый примитивный способ, в котором
интерполяция локальная.

Прочитал сообщение ewert. Не интерполяция, так аппроксимация :) .

 Профиль  
                  
 
 
Сообщение28.07.2008, 18:37 
Заслуженный участник


11/05/08
32166
Narn писал(а):
Не интерполяция, так аппроксимация :) .

интерполяция (с прикладной точки зрения) -- не более чем очень частный случай аппроксимации

 Профиль  
                  
 
 
Сообщение28.07.2008, 18:37 


21/06/08
39
Большое спасибо, что откликнулись. Прокомментирую в порядке поступления вопросов.

Цитата:
Это как? Было бы очень любопытно взглянуть. Даже примитивнейший метод оценки производной (функции одной переменной, для многих аналогично) через (то есть ничего, кроме табличных данных не используем) по сути дела основан на линейной интерполяции.
Видимо, об этом и шла речь. Операторы Собела и иже с ними. Не самый лучший способ, на мой взгляд.

Алексей К. в сообщении #135938 писал(а):
"Используя только табличные данные" означает, что залезли в таблицу и вынули производную. У Вас случай не тот. Надо что-то взять из таблицы и повычитать, поделить, поусреднять. Т.е. выполнить какую-нибудь, самую примитивную, интерполяцию. Хотя бы по двум соседним точкам (закрыв глаза на тот факт, что точка слева ничем не хуже точки справа).
Да, вы правы. Над табличными данными в любом случае необходимо производить вычисления, которые в некотором роде буду являться интерполяцией.

ewert, больно формулы запутанные...

Narn в сообщении #135940 писал(а):
Да, кстати, а уточнить постановку задачи можно? В каких именно точках задана функция? Что о ней известно (из какого она класса, например)?
Таблица x на y. В каждой точке натуральное число - значение функции от её координат. То есть, как я и говорил, функция от двух переменных, заданная таблицей. Требуется найти производные по x и по y для каждой точки, с целью последующего вычисления градиента в каждой точке. Безусловно, я слышал о методах приминения градиентных масок Собеля, Преввита и т.д. Но мне эти методы показались грубыми и дающими результат с большой погрешностью. Вот поэтому и ищу другой способ.


Хорошо, давайте остановимся на интерполяции. Какой способ вы посоветуете использовать для получения приближённого аналитического выражения функции? Я так понял, можно интерполяцией получить аналитическое представление двух функций: по x и по y. Производные по ним и будут частными производными в каждой точке. Или я ошибаюсь? Поправьте, пожалуйста, и подскажите наилучший по вашему мнению метод - я в вычислительной математике, к сожалению, не силён.

 Профиль  
                  
 
 
Сообщение28.07.2008, 18:42 
Заслуженный участник


11/05/08
32166
Mr. Demetrius писал(а):
ewert, больно формулы запутанные...

Да они не запутанные, а совершенно стандартные, в любом справочнике можно найти. Кроме, может, последней -- это уже чуть специфичнее; но и тоже очень просто.

 Профиль  
                  
 
 
Сообщение28.07.2008, 18:55 


21/06/08
39
В таком случае, не могли бы вы разъяснить буквы формулы? Хотя бы, что такое h? Да и откуда берётся выражение, вычитающееся в конце?

 Профиль  
                  
 
 А смогу ли я сапоги себе сшить по интернетным подсказкам?
Сообщение28.07.2008, 19:00 


29/09/06
4552
Mr. Demetrius писал(а):
Хорошо, давайте остановимся на интерполяции. Какой способ вы посоветуете использовать для получения приближённого аналитического выражения функции? Я так понял, можно интерполяцией получить аналитическое представление двух функций: по x и по y. Производные по ним и будут частными производными в каждой точке. Или я ошибаюсь? Поправьте, пожалуйста, и подскажите наилучший по вашему мнению метод - я в вычислительной математике, к сожалению, не силён.

Мы все хором сразу подскажем Метод Наименьших Квадратов. И что аналитический вид надо придумать (из физической модели или от фонаря) самому. Метод лишь вычислит коэффициенты. При этом мы заметим, что подсказка условна, и, кто не поленится и не опаздывает на день рождения, предложит другое или уточнит детали.

Я --- опаздывающий, и по сути скажу мало и скупо. Ваша задача --- это отдельная маленькая профессия. Целое ремесло. Возможно, уже как-то заавтоматизированное...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group