Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> алгоритм интерполяции, помогите 
:(
    Опции темы
YURIC
  Дата 9.6.2004, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Нет - ли у кого-нить алогоритма интерполяции? Как вообще это делать програмно?
PM MAIL   Вверх
Maverick
Дата 9.6.2004, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



Тебе в другой раздел... Есть раздел "Алгоритмы", там я где-то читал подобное...


--------------------
smile
PM ICQ GTalk   Вверх
YURIC
Дата 9.6.2004, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Maverick
Ничего не нашел подходящего....
PM MAIL   Вверх
Guest
Дата 9.6.2004, 19:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











YURIC, какой метод тебе нужен?
Могу дать исходняки на сях...
Вот тут я в свое время поднимал тему про кубические сплайны.
http://forum.vingrad.ru/index.php?showtopic=21345&hl=
Алгоритм есть тут: http://alglib.manual.ru
  Вверх
Mal Hack
Дата 9.6.2004, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Сорри, не подписался.
PM ICQ   Вверх
YURIC
Дата 10.6.2004, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Незнаю какой метод...... hehe.gif

Вобщем суть в следующем:

Есть допустим два числа: 100 и 1563
И есть еще два числа которые от них зависят, например при значении х1= 100 второе равно 896, а при значении х1 1563 второе равно 542

мне нужно найти второе число при х1 допусти 158

З.Ы. Вот такая канитель...
PM MAIL   Вверх
Mal Hack
Дата 10.6.2004, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



YURIC, узнавай какой метод нужнен....
В принципе на сколько я понимаю, либо Лагранж, либо Ньютон.
PM ICQ   Вверх
Albinos_x
Дата 10.6.2004, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



YURIC
Не понятно на чём основывается эта зависимость,
выясни что за метод.



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Cheba
Дата 10.6.2004, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Имеются исходники интерполяции по методу Ньютона на Паскале.
PM MAIL ICQ   Вверх
youri
Дата 11.6.2004, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



Есть такая штука как линейная интерполяция: то есть у тебя есть n точек на плоскости, ты соединяешь каждые две последовательные (т.е. последовательность - увеличение, например, координаты x) точки отрезком. Таким образом ты сможешь графически найти значение функции для промежуточных значений х.
По поводу программной реализации. На каждом отрезке [x1;x2] (образованном соседними точками) функция задается уравнением прямой: (y-y1)/(y2-y1) = (x-x1)/(x2-x1). Выразив из него x, ты сможешь по полученной формуле определить значение функции на этом интервале (и так для каждого интервала).
Цитата
Есть допустим два числа: 100 и 1563
И есть еще два числа которые от них зависят, например при значении х1= 100 второе равно 896, а при значении х1 1563 второе равно 542

В твоем примере два числа. Насколько я понимаю что такое интерполяция: для двух точек нельзя интерполировать функцию, кроме как при помощи линейной интерполяции.
PM   Вверх
YURIC
Дата 11.6.2004, 06:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Cheba
Буду очень признателен, если поделишься
Добавлено @ 06:53
youri
Объясни по подробнее пожалуйста и если можно с исходником

withstupid.gif
PM MAIL   Вверх
Cheba
Дата 11.6.2004, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pointless one
***


Профиль
Группа: Vingrad developer
Сообщений: 1777
Регистрация: 27.11.2003
Где: /dev/null

Репутация: 1
Всего: 62



Цитата
Cheba
Буду очень признателен, если поделишься
Хорошо, вышлю, но для двух точек этот метод не прокатит.

PM MAIL ICQ   Вверх
Akina
Дата 11.6.2004, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Цитата
Есть допустим два числа: 100 и 1563
И есть еще два числа которые от них зависят, например при значении х1= 100 второе равно 896, а при значении х1 1563 второе равно 542

мне нужно найти второе число при х1 допусти 158

Линейная интерполяция:
y(x)=y1+((y2-y1)/(x2-x1))*(x-x1)
y(158)=896+((542-896)/(1563-100))*(158-100)=882


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
youri
Дата 11.6.2004, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



Цитата
Объясни по подробнее пожалуйста и если можно с исходником

Ты сначала обясни, что тебе не понятно
PM   Вверх
YURIC
Дата 12.6.2004, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Akina

ОГРОМНОЕ СПАСИБО!

А ты случаем не знаешь как работает кубическая интерполяция

З.Ы. Вот такая функция получилась:
Delphi

Код
function interpol(const y1,y2,x1,x2,x:Extended):Extended;
begin
Result:=y1+((y2-y1)/(x2-x1))*(x-x1);
end;


Использование:
Код
in:=interpol(1.38,1.4,250,500,10);
ShowMessage(FloatToStr(in));


спасибо


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.