Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 1
1

Алгоритм к программе (интерполяция методом Лагранжа)

12.05.2015, 12:39. Показов 540. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Нужен алгоритм к этой программе.
(интерполяция методом Лагранжа)


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream.h>
#include <DBCtrls.hpp>
#include <DBTables.hpp>
#include <ExtCtrls.hpp>
#include <math.h>
#include <conio.h>
 
double divided_differences(const double* x, const double* y, const int xstart, const int xend)
{
    double dn = x[xend] - x[xstart];
    if (dn == 0) return 0;
    if(xend - xstart == 1)
    {
        return (y[xend] - y[xstart]) / dn;
    } else if(xend - xstart > 1) {
        return (divided_differences(x, y, xstart + 1, xend) - divided_differences(x, y, xstart, xend - 1)) / dn;
    } else {
        return 0;
    }
}
 
 
double newtone_polynomial(const double* x, const double* y, const double xk, const int degree)
{
    if (degree < 1) return 0;
    int i, k; double P = 0;
    for(i = 1; i <= degree; i++)
    {
        double t = 1;
        for (k = 0; k < i; k++) t *= xk - x[k];
        P += divided_differences(x, y, 0, i) * t;
    }
    return y[0] + P;
}
 
int main(int argc, char* argv[])
{
    cout << "Vedit kol-vo uzlov: "; int n; cin >> n; int i;
    double* y = new double[n]; double* x = new double[n];
    cout << "Vedit " << n << " uzlov interpol\n";
    for(i = 0; i < n; i++) cin >> x[i];
    cout << "Vedit " << n << " znach funkc\n";
    for(i = 0; i < n; i++) cin >> y[i];
 
    cout << "\nVedit x: "; double xr; cin >> xr;
 
    cout << newtone_polynomial(x, y, xr, n - 1) << endl;
    delete []x; delete []y;
     getch( ) ;
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2015, 12:39
Ответы с готовыми решениями:

Интерполяция методом Лагранжа
Не могу исправить ошибку в программе вычисляющей интерполяцию методом Лагранжа ошибка в 25,26...

Интерполяция методом Ньютона и Лагранжа
Задано табличное представление функции: x y 3 4 7 10 11 22 15 26 19 23 Сравнить методы...

Ошибка в программе интерполяция функции методом Ньютона
выдает ошибку, не пойму в чем проблема Unit1.cpp(12): E2313 Constant expression required ...

Интерполяция методом Лагранжа
Помогите.Почему-то не рисуется функция для интерполяции Лагранжа public partial class MainForm...

0
12.05.2015, 12:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2015, 12:39
Помогаю со студенческими работами здесь

Интерполяция методом Лагранжа
переписал с методички пример, но ответ явно не тот, не пойму где ошибка

Интерполяция методом Лагранжа
Как в MathCAD расписать это задание?

Интерполяция методом лагранжа. Поправьте
Друзья, прошу вашей помощи. Интерполяция функциональных зависимостей методом Лагранжа function ...

Интерполяция функции методом Лагранжа.
Фото прикрепил ниже


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru