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

Интерполяционный многочлен Ньютона: рекурсивная функция

06.05.2017, 15:06. Показов 2592. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня появились проблемы с рекурсивной функцией по интерполяционному многочлену ньютона, а именно я выхожу за пределы массива. Из-за этого функция RR в цикле возвращает огромные значения.




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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <math.h>
#include <fstream>
#define a  0
#define b  3
#define m  4 
#define n  4
#define J  20
#define h 0.15
using namespace std;
float RR(int k, int i, float *Xi,float *Yi)
{
    if (k == 1) return (Yi[i] - Yi[i+1])/(Xi[i]-Xi[i+1]);
    if (k == n-1) return 0;
    //тут надо добавить условия на случай выхода из массива 
    //я запутался здесь
    return ((RR(k-1,i,Xi,Yi) - RR(k-1,i+2,Xi,Yi)))/(Xi[i]-Xi[i+2]);
}
int main()
{
    ofstream v("E:\\lr3.txt", ios_base::out);
    if (!v.is_open() == NULL) 
    {
    float *N = new float [J];   
    float *Xi = new float [m];
    float *Yi = new float [m];
    int kkk = 1;
    for (int i =0;i<m;i++)
    {
        Xi[i] = a+(kkk-1)*(b-a)/(m-1);
        kkk++;
        Yi[i] = Xi[i]*Xi[i] - 10*pow(sin(Xi[i]),2);
        cout<<Xi[i]<<endl;
        cout<<Yi[i]<<endl;
    }
    float iter = 0;
    float *Xj = new float [J];
    for (int i = 0; i<J+1; i++)
    {
    Xj[i] = a+iter*(b-a)/20;
    cout<<Xj[i]<<endl;
    iter++;
    }
    float *Yj = new float [J];
    for (int i =0;i<J;i++)
    {
    Yj[i] = Xj[i]*Xj[i] - 10*pow(sin(Xj[i]),2);
    }   
    float u;
    for(int j = 0;j<J;j++)
        {
    float den=1;
            N[j] = Yi[0];
            int k = 0;
            //int fact = 1;
            for (int i = 0; i<n; i++)
                {
                //cout<<fact<<endl;
                den*=(Xj[j]-Xi[i]);
                    
                    N[j]+=den*RR(k,i,Xi,Yi);
                    k++;
                    //cout << fact*pow(h,i+1) << endl;
                    //(fact*pow(h,i+1))
                    //cout << RR(k, i, Xi, Yi) << endl;
                    //fact *= (i+2);
                }
            u = N[j] -Yj[j];
            cout<<"d(X"<<1+j<<") = "<<u<<endl;
            v<<"d(X"<<1+j<<") = "<<u<<endl;
        }
    }
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2017, 15:06
Ответы с готовыми решениями:

Интерполяционный многочлен Ньютона
По табличной функции, заданной 10-ю точками, построить мн-член Ньютона с конечными разностями. Моя программа: #include &lt;stdio.h&gt; ...

Составить программу , используя интерполяционный многочлен Ньютона
помогите пожалуйста

Восходящий интерполяционный многочлен Ньютона. Может пригодится
В результате выполнения лабы по вычмату создалась такая прога. смотрю на форуме много незаконченных. Может пригодится кому. #include...

1
0 / 0 / 0
Регистрация: 08.03.2015
Сообщений: 14
07.05.2017, 22:15  [ТС]
тема актуальна

Добавлено через 17 часов 42 минуты
тема актуальна

Добавлено через 8 часов 2 минуты
тема актуальна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2017, 22:15
Помогаю со студенческими работами здесь

Интерполяционный многочлен Ньютона (ИМН) с произвольными узлами
Код на языке C++ Интерполяционный многочлен Ньютона с произвольными узлами На входе 5 случайных, десятичных (с точностью до...

Вычислить интерполяционный многочлен Ньютона с равноотстоящими узлами
Как сделать так чтобы она была с равноотстоящими узлами? #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Программа вычисляющая интерполяционный многочлен Ньютона, останавливается при компиляции на 12 строке
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include&lt;math.h&gt; using namespace std; //Интерполяционный многочлен...

Построить интерполяционный многочлен и интерполяционный сплайн
Здравствуйте, уважаемые. Даны узлы и значения функции в них. Картинка во вложении. Нужно построить интерполяционный многочлен(Лагранжа...

Интерполяционный многочлен Лагранжа
Здравствуйте, уважаемые, обшарил форум, но решения проблемы не нашел. Потратил часа 2, но так и не смог до конца разобраться. Задание:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru