2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Wolfram Mathematica 9: Кусочные функции?
Сообщение03.02.2013, 15:53 
Заслуженный участник


27/07/12
1405
САФУ Архангельск
Дана таблица, которая задает функцию. Интерполировать правильно, например в виде полинома, математика её не может - то есть может, но крайне не корректно.



Код:
e := {{0.002, 0.120},
  {0.004, 0.154},
  {0.01, 0.211},
  {0.02, 0.261},
  {0.04, 0.311},
  {0.1, 0.372},
  {0.2, 0.403},
  {0.4, 0.405},
  {1.0, 0.356},
  {2.0, 0.291},
  {4.0, 0.214},
  {10, 0.128},
  {20, 0.0813},
  {40, 0.0493}}

ListPlot[e]
q1 := InterpolatingPolynomial[e, x]
tt = Plot[q1, {x, 0, 40}]




таблица:

Изображение

Выдает:

Изображение

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

 Профиль  
                  
 
 Re: Wolfram Mathematica 9: Кусочные функции?
Сообщение03.02.2013, 16:03 
Заслуженный участник


11/05/08
32166
Предварительно желателно заменить иксы на их логарифмы. Однако при Вашей точности данных даже и это не спасёт -- использование многочлена четырнадцатой степени наверняка окажется неадекватным. Лучше всего такие данные аппроксимировать сплайнами; в Математике они есть, погуглите.

 Профиль  
                  
 
 Re: Wolfram Mathematica 9: Кусочные функции?
Сообщение03.02.2013, 16:20 
Заслуженный участник


27/04/09
28128
(deleted)

 Профиль  
                  
 
 Re: Wolfram Mathematica 9: Кусочные функции?
Сообщение03.02.2013, 16:22 
Заслуженный участник


27/07/12
1405
САФУ Архангельск
несколько поигравшись с настройками, подобрал что-то подходящее.

Код:
f := Interpolation[e, InterpolationOrder -> 2, Method -> "Spline"]
tt = Plot[f[x], {x, 0, 40}]
ff := Interpolation[e, InterpolationOrder -> 1, Method -> "Spline"]
ttt = Plot[ff[x], {x, 0, 40}]




спасибо. Мучительно думаю, что выбрать)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

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



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

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


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

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