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

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

09.10.2012, 13:56. Показов 12750. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите с заданием: Функция y=f(x) задана таблицей. Пользуясь интерполяционный полином Лагранжа, вычислить приближенное значение этой функции в заданной точке x.

Сам код:
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
#include <iostream>
#include "stdafx.h"
 
using namespace std;
 
 void main()
{
 
float x[7] = {1,1.02,1.05,1.08,1.16,1.19,1.2};
float y[7] = {0,0.019,0.049,0.086,0.122,0.157,0.182}; 
int i,j;
int n=8;
float f1,f2,L;
float X=1.137;
 
for (i=0;i<n;i++)
{
    f1=1;
    f2=1;
    L=0;
        for(j=0;j<n;j++)
            if(i!=j)
            {
                f1*=X-x[j];
                f2*=x[i]-x[j];
            }
            
L+=y[i]*f1/f2;
cout<<L<<endl;
return L;
}
 
 }
Но он у меня выдает ошибку, все перепробовал, ничего не выходит. Помогите.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2012, 13:56
Ответы с готовыми решениями:

Построить по имеющимся данным интерполяционный полином Лагранжа и вычислить значение функции в точке x
Построить по имеющимся данным интерполяционный полином Лагранжа и вычислить значение функции в точке x

Вычислить интерполяционный полином Лагранжа
Здравствуйте! Помогите исправить ошибку в коде. Необходимо для индивидуальной функции вычислить интерполяционный полином Лагранжа L (x...

Интерполяционный полином Лагранжа
Дана функция f(x) = xln(x) + 2xcos(x) a = 1; b = 2; Вычислить значение полинома Лагранжа. P.s. x(i) ∈ x(i) = a + i*h; ...

11
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
09.10.2012, 14:06
у вас массивы размером 7 а цикл по 8 идет, и функция main возвращает void а вы пытаетесь L вернуть
0
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 20
09.10.2012, 14:21  [ТС]
Чуть-чуть подправил код, но слегка не тот результат, что ожидается. Мне нужно, чтобы выходило одно значение, как правильно запрограммировать переменную n, чтобы первое значение было не 0?
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
 int main()
{
 
float x[] = {1,1.02,1.05,1.08,1.16,1.19,1.2};
float y[] = {0,0.019,0.049,0.086,0.122,0.157,0.182}; 
int i,j;
int n=1;
float f1,f2,L;
 
float X=1.137;
 
for (i=0;i<n+1;i++)
{
        f1=1;
        f2=1;
        L=0;
        for(j=0;j<n+1;j++)
            if(i!=j)
            {
                f1*=X-x[j];
                f2*=x[i]-x[j];
            }
            
L+=y[i]*f1/f2;
cout<<L<<endl;
 
}
return L;
 }
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
09.10.2012, 14:24
а дайте ссылку на формулы, а то я не сталкивался с этим, может в мат части ошибка , а не в програмировании
и если вы хотите видеть 1 результат а не несколько штук то перенесите вывод L перед строкой возврата
C++
1
2
cout<<L<<endl;
return L;
0
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 20
09.10.2012, 14:30  [ТС]
Формула с методички
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
09.10.2012, 14:39
чот немного я не понял с p(x) , ну да ладно, про вывод я вам написал, проверьте, то ли получается?
0
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 20
09.10.2012, 14:42  [ТС]
Теперь она вообще перестала, что-то выводить =)
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
09.10.2012, 14:46
у меня выводит 0.068
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
 void main()
{
 
    float x[7] = {1,1.02,1.05,1.08,1.16,1.19,1.2};
    float y[7] = {0,0.019,0.049,0.086,0.122,0.157,0.182};
    int i,j;
    int n=7;
    float f1,f2,L;
    float X=1.137;
 
    for (i=0;i<n;i++)
    {
        f1=1;
        f2=1;
        L=0;
            for(j=0;j<n;j++)
                if(i!=j)
                {
                    f1*=X-x[j];
                    f2*=x[i]-x[j];
                }
 
    L+=y[i]*f1/f2;
 
    }
    cout<<L<<endl;
    system("pause");
}
0
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 20
09.10.2012, 14:53  [ТС]
Так ведь значение (X=1,137) по идее будет 8 в массиве, или я ошибаюсь?
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
09.10.2012, 14:57
ошибаешься, с чего бы это ему быть в массиве, тем более 8 если ты явно память выделил под 7
1
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 20
09.10.2012, 15:02  [ТС]
Огромное спасибо!
0
zaNudda
10.10.2012, 17:54
А нафига внутри цикла L обнулять?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.10.2012, 17:54
Помогаю со студенческими работами здесь

Интерполяционный полином Лагранжа
Помогите пожалуйста есть программа когда нужно по заданному х=4 найти у Теперь мне нужно сделать наоборот есть у=0.5 найти все значения х...

Интерполяционный полином Лагранжа
Привет всем! ;)Такой вопрос, имею лабораториум по програмированию и получил несколько заданий, это одно из них, хотел би услишать может...

Найти приближенное значение функции, заданной таблично (интерполяционный многочлен Лагранжа)
Написать программу на языке С которая: находит приближённое значение функции заданной табличным образом в указанных точках используя...

Построить численную интерполяцию функции, используя интерполяционный полином Лагранжа
Построить численную интерполяцию функции y=f(x)=(2+x(1+cos(x))) на отрезке в точках X принадлежащих этому отрезку не совпадающих с узлами...

Интерполяционный полином Лагранжа
При выполнении работы необходимо спроектировать и реализовать программу пользователя для численного нахождения корня уравнения. f (x)...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru