Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 17, 2010 17:33:51

nikitos
От:
Зарегистрирован: 2010-02-17
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Пишу практику и встала задача:
Есть зависимость перемещения от времени заданная массивом.
Пример:
Т.е. первое число время второе перемещение и т.д.
Препод просит аппроксимировать эту зависимость кубическим сплайном.
А потом получить зависимость скорости от времени т.е. продифференцировать.
Что и как делать не говорит.
Видимо я уже и математику подзабыл. Да и при написании прог никогда не сталкивался с дифференцированием.

Помогите пожалуйста справится с этой задачей.
Заранее всем огромное спасибо.



Офлайн

#2 Фев. 17, 2010 17:46:40

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Реши математически, на бумаге, а уже потом - программируй.

Офлайн

#3 Фев. 17, 2010 17:56:03

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Для дифференцирования можно использовать Scipy, или если препод захочет, чтобы реализовать самому, то есть без подключения доп. библиотек, то использовать Численные методы дифференцирования - http://www.toehelp.ru/theory/informat/lecture10.html.



Офлайн

#4 Фев. 17, 2010 18:00:16

nikitos
От:
Зарегистрирован: 2010-02-17
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Спасибр всем откликнувшимся.
Вот на бумаге пока тоже не особо вспоминается как решить это дело.
SCIPY использовать можно. Не подскажите как с ее помощью это реализовать? А то с английским испытываю трудности.



Отредактировано (Фев. 17, 2010 18:07:19)

Офлайн

#5 Фев. 19, 2010 21:17:35

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Кстати, а какие есть для питона библиотеки аппроксимации(интерполяции/экстраполяции)?
Ну чтобы там и сплайны были и Лагранж и Чебышев и тонкая настройка и кофе в постель? :)
А то в Scipy что то непонятное.



Отредактировано (Фев. 19, 2010 21:24:07)

Офлайн

#6 Фев. 19, 2010 22:14:53

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

В numpy есть как минимум сплайны. Для себя я делал свой класс сплайнов (http://jenyay.net/uploads/Programming/Python/spline.zip), но для скорости там все-равно используется класс массива из numpy.



Офлайн

#7 Фев. 19, 2010 22:16:42

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

А еще все нужные алгоритмы хорошо описаны здесь.



Офлайн

#8 Фев. 20, 2010 00:35:54

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Одного я не могу в нумпуйном сплайне понять - зачем он до десятых округляет?

x=np.array(range(100), float)
y = np.array(list(i*i for i in x))
z=np.array([5.0,5.1,5.2])
np.interp(z, x, y)
>>> array([ 25. , 26.1, 27.2])



Отредактировано (Фев. 20, 2010 00:36:46)

Офлайн

#9 Фев. 24, 2010 14:38:56

nikitos
От:
Зарегистрирован: 2010-02-17
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Jenyay
В numpy есть как минимум сплайны. Для себя я делал свой класс сплайнов (http://jenyay.net/uploads/Programming/Python/spline.zip), но для скорости там все-равно используется класс массива из numpy.
Посмотрел ваш класс. Вы не подскажите как использовать сплайны из numpy? Есть какая либо русскоязычная литература по numpy?
И как быть с производными?
Мне не нужно ничего особенного. Т.е. свой класс сплайнов мне ни к чему.
Я создам отдельные массивы xval и yval как их аппроксимировать кубическим сплайном и взять производную?
Еще раз прошу помощи.



Офлайн

#10 Фев. 24, 2010 15:17:11

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с дифференцированием и аппроксимацией.

Немного перепутал, сплайны есть не в numpy, а в scilab - http://www.scipy.org/doc/api_docs/SciPy.interpolate.interpolate.html#spline.

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



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version