![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 5 Всего: 61 |
Строится интерполяционный кубический сплайн по N точкам интерполяции по таблице:
|_xi_||_x1_|...|_xN_| |F(xi)||F(x1)|...|F(xN)| Разумеется можно построить таблицу для вычисления значение коэффициентов методом Гаусса, но при больших N мы не сможем получить достаточно большую скорость. Есть ли какие-то уже готовые формулы для вычисления коэффициентов интерполяционного кубического сплайна? Или может есть уже упрощенные системы для метода Гаусса или специальные алгоритмы? P. S. На алгоритмы желательны ссылки или примеры на Delphi. Добавлено @ 11:09 А может кто поделится кусочками кода своих программ? |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 24 Всего: 110 |
в общем случае процедура Гаусса занимает порядка n^3 времени
но насколько я припоминаю, сплайны ненулевые только на небольших областях пусть m - количество точек, в которых каждый сплайн ненулевой тогда если присмотреться к получаемой матрице, можно заметить, что у неё будет немало нулей, и заполненными будут лишь m диагоналей в середине если реализовать метод Гаусса с учётом этого факта, то он будет уже требовать n*m^2 времени m, обычно, довольно небольшое по сравнению с n и постоянно в задаче так что получаем время порядка n для m=3 это называется методом прогонки (оно используется в численном решении дифференциальных уравнений) Это сообщение отредактировал(а) maxim1000 - 14.11.2006, 11:47 -------------------- qqq |
|||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 7 Всего: 18 |
||||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 5 Всего: 61 |
||||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 7 Всего: 18 |
>Чет не хочет работать
Ну может, криво сделан межъязыковый перевод. Возьми код в Numerical Recipes |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 5 Всего: 61 |
А может есть готовый комопнентик, умеющий интерполировать?
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 5 Всего: 61 |
Вот кое-что нашел...
Есть и пример: http://alex-xakep.narod.ru/PolyBezier_demo.zip Как можно все это прикрутить к моей программе? |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |