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, Супермодераторы



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

Сейчас этот форум просматривают: DariaRychenkova


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

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