2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение23.11.2009, 21:22 
Аватара пользователя


15/01/06
200
protsiv в сообщении #264502 писал(а):
Имеем 5 табличных функций q=f(R), построенных для разных L (0.125, 0.25, 0.5, 0.75 и 1.0))
...
Требуется аппроксимировать их одной зависимостью q=f(R, L).


А Вас не смущает тот факт, что все первые пять точек для одних и тех же x и y дают разные z? Это же надо очень постараться, чтобы достойно аппроксимировать такую неоднозначность...
Вот если выкинуть эти первые точки, то легко получится даже не аппроксимация, а интерполирующий полином, с вполне нормальными отклонениями:
Код:
data = Join[Rest[q125], Rest[q250], Rest[q500], Rest[q750], Rest[q1000]];
data0 = Table[{{data[[i]][[1]], data[[i]][[2]]}, data[[i]][[3]]}, {i, Length[data]}];
poly = InterpolatingPolynomial[data0, {x, y}]
(poly /. # & /@ (Rule @@@ Transpose[{{x, y}, #}] & /@ (Most[#] & /@ data))) - (Last[#] & /@ data)
Variance[(poly /. # & /@ (Rule @@@ Transpose[{{x, y}, #}] & /@ (Most[#] & /@ data))) - (Last[#] & /@ data)]


Мне конечно сложно судить, не зная Вашей изначальной задачей, но вид двумерных зависимостей наталкивает на сомнения в необходимости вообще какой-то трехмерной аппроксимации. По мне так это просто некая двумерная параметрическая зависимость, причем больше даже похожа на экспоненциальную, нежели на полиномиальную. Да и выглядит двумерное нагляднее, "читабельней". Но это конечно мое сугубо личное мнение.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение23.11.2009, 21:46 


18/11/09
31
Каждую в отдельности (не учитывая L) я уже давно аппроксимировал разными способами (в том числе и фунцией Fit, требующей задания базовой функции).
<math xmlns='http://www.w3.org/1998/Math/MathML'
Изображение
Но требуется получить единую функцию, учитывающую и R и L ( короче нужно одно уравнение, подставив в которое исходные данные мы получим конкретное значение q).

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение23.11.2009, 23:14 
Аватара пользователя


15/01/06
200
protsiv в сообщении #264751 писал(а):
Каждую в отдельности (не учитывая L) я уже давно аппроксимировал разными способами (в том числе и фунцией Fit, требующей задания базовой функции).

Но требуется получить единую функцию, учитывающую и R и L ( короче нужно одно уравнение, подставив в которое исходные данные мы получим конкретное значение q).


Простым применением методов Fit, FindFit или InterpolatingPolynomial не выйдет. Надо более детально исследовать точки и пытаться предположить для них какую-то зависимость, которую потом доводить до ума. Об этом я в самом начале темы писал, пытаясь понять Ваши ожидания насчет необходимой зависимости. Это во-первых.
Во-вторых, если Вы хотите потом в эту Вашу зависимость что-то подставлять и получать, и при этом не из этого множества точек и еще к тому же не из этой области точек, то тут уже надо задумываться о точности. Ведь построив простецкий полином можно неслабо промахнуться в других точках.
В-третьих, это не полиномиальная зависимость.

Так что придется Вам копать в теоретическую сторону всевозможных методов аппроксимации и только потом пользоваться уже математическими пакетами.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение24.11.2009, 11:35 


18/11/09
31
Да нет, я как раз и выбрал InterpolatingPolynomial, поскольку она не требует предварительного приближения и выбора исходной функции. А кривые, которые Вы видите на последнем рисунке, построены этой полиномальной функцией. Вот результаты аппроксимации.
Изображение
Поскольку реальных предложений по решению моей проблемы нет, а тема переползла на вторую страницу форума (администрация сайта не понимает ее вверх в соответствии с датой последнего сообщения), думаю тему нужно закрыть.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение24.11.2009, 16:01 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
protsiv, Вы делаете вообще не то. Интерполяционный полином Лагранжа (а это он), как правило, несмотря на своё название, для интерполяции не очень-то хорош. А конкретно в Вашем случае, как подтверждают графики, откровенно и ужасно плох.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение24.11.2009, 16:29 


18/11/09
31
Да не так уж он и плох. В зоне от 0 до 800 (по х) он вполне подходит, а главное, в Wolfram Mathematica7 нет ни одной другой функнции, обещавшей (по спецификации и примерам из хелпа) сделать одну интнрполяционную зависимость трех переменных. Если я ошибаюсь, подскажите другую такую функцию.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение24.11.2009, 20:03 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Ладно. Если Вас не пугают методологические возражения (ИМХО, зря), то можете склеить руками эти пять полиномов в один, но от двух переменных. А именно: на месте коэффициента при $R_p$ поставить полином от этой, как её там, второй переменной, принимающий в таких-то пяти точках такие-то значения. На место коэффициента при $R_p^2$ аналогично. И так далее...

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение24.11.2009, 20:27 
Аватара пользователя


15/01/06
200
protsiv в сообщении #264881 писал(а):
Да нет, я как раз и выбрал InterpolatingPolynomial, поскольку она не требует предварительного приближения и выбора исходной функции. А кривые, которые Вы видите на последнем рисунке, построены этой полиномальной функцией. Вот результаты аппроксимации.

Поскольку реальных предложений по решению моей проблемы нет, а тема переползла на вторую страницу форума (администрация сайта не понимает ее вверх в соответствии с датой последнего сообщения), думаю тему нужно закрыть.


Картинками лучше всего приводить только графики, остальное текстом либо кодом, ведь невозможно же скопировать и что-то проверить.

Я не понимаю, Вы не читаете что ли предыдущие сообщения? Я же Вам написал, что Вы для начала поймите какой результат Вы хотите получить и только от этого понимания можно двигаться дальше. Я Вам привел примеры как можно и Fit'ом из Ваших данных получить аппроксимацию, и как InterpolatingPolynomial заставить дать Вам хоть какой-то ответ.

Цитата:
а главное, в Wolfram Mathematica7 нет ни одной другой функнции, обещавшей (по спецификации и примерам из хелпа) сделать одну интнрполяционную зависимость трех переменных


А вот это совсем не главное... Это вообще мелочь.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение25.11.2009, 11:23 


18/11/09
31
Склеить пять полиномов, как предлагает ИСН, это работа заслуживающая отдельного исследования. На это нет ни времени, ни возможностей.
Что касается замечания Leierkastenmann, то я уже столько раз объяснял чего хочу, что осталось только показать пальцем:"Я хочу функцию, описвающую поверхность, приведенную выше на трехмерном графике".

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение25.11.2009, 20:07 
Аватара пользователя


15/01/06
200
protsiv в сообщении #265194 писал(а):
Что касается замечания Leierkastenmann, то я уже столько раз объяснял чего хочу, что осталось только показать пальцем:"Я хочу функцию, описвающую поверхность, приведенную выше на трехмерном графике".


Полнейший тупик... :shock: Ну что ж, если именно такова постановка задачи, то мой ответ - Вы функцию эту не получите ни с помощью математики, ни других математических пакетов.

 Профиль  
                  
 
 Re: Полиномальная интерполяция в Wolfram Mathematica7
Сообщение25.11.2009, 21:53 


18/11/09
31
Поэтому тема и закрыта.

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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