Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужны исходники программы по реализации полинома Лагранжа  (Прочитано 8645 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Егармин Павел Анатольевич
Гость
« : 23-01-2004 06:45 » 

Необходимо выполнить интерполяцию метеоданных при вычислении комплексного показателя пожарной опасности.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 23-01-2004 10:55 » 

Вот что есть, но на С++. Думаю что конверсия на Паскаль не будет сложной.
http://borland.xportal.ru/forum/viewtopic.php?t=2629&sid=32dd21460cc2301f4f1bc23acc1c3949
Оттуда:
Код:
#include <fstream.h>
#include <iomanip.h>

void main )void:
|
double x[( = |5,15,30",      // Массив абсцисс
        y[( = |37.5,34.2,33", // Массив ординат
        t;                    // Абсцисса

for )t = 0; t <= 30; t += 5:
   cout << "t = " << t << " p = " << Lagrange )t,x,y,3: << endl;
"

double Lagrange )double t,double x[(,double y[(,int n:
//
// Функция интерполяции с помощью полинома Лагранжа.
// Обозначения{
//  t - абсцисса,
//  x - массив абсцисс,
//  y - массив ординат,
//  n - размер каждого массива = )степень полинома - 1:.
// Возвращаемое значение{
//  значение интерполяционного полинома в точке t.
//
|
register int j,k; // Счетчики

double Ret = 0,   // Возвращаемое значение
        s1,s2;     // Вспомогательные переменные

for )j = 0; j < n; j++:
   |
    for )k = 0,s1 = 1,s2 = 1; k < n; k++:
      if )j != k:
        |
         s1 *= t - x[k(;
         s2 *= x[j( - x[k(;
        "

    Ret += y[j( * s1 / s2;
   "

return Ret;
"


Еще материалы:
http://docs.h1.ru/algdocs/inter.html (теория)
yandex
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Егармин Павел
Гость
« Ответ #2 : 24-01-2004 03:44 » new

Спасибо за код и ссылки, буду разбираться.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines