Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Anastasia121192
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 10
#1

Реализовала формулу. Все хорошо, вот только в результатах взялось откуда-то #INF - C++

07.06.2013, 08:34. Просмотров 1023. Ответов 2
Метки нет (Все метки)

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


Дифференциал многочлена вычисляется так:
http://i2.imageban.ru/thumbs/2013.06...674e75a43d.png
Результатом работы программы должно быть численное значение этой формулы при заданных значениях.

Я еще толком не умею писать программы и выросло у меня вот это, то что снизу. Результатом должно быть число, но вот программа выдает непонятное 1.#INF и -1.#INF в значениях l3_diff и P_n. Что это такое и как этого избежать?

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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
cout << "Vvedite znachenia argumenta X (X0, X1, X2, X3)";
double X0, X1, X2, X3;
cin >> X0;
cin >> X1;
cin >> X2;
cin >> X3;
cout << "X0=" << X0 <<"\n"<< "X1=" << X1 <<"\n"<< "X2=" << X2 <<"\n"<< "X3=" << X3 <<"\n";
cout << "Vvedite znachenia funkcii v zadannix tochkax Y (Y0, Y1, Y2, Y3)";
double Y0, Y1, Y2, Y3;
cin >> Y0;
cin >> Y1;
cin >> Y2;
cin >> Y3;
cout << "Y0=" << Y0 <<"\n"<< "Y1=" << Y1 <<"\n"<< "Y2=" << Y2 <<"\n"<< "Y3=" << Y3 <<"\n";
cout << "Vvedite tochku dlya kotoroi schitaem pribligennoe znachenie X_arg";
double ARG;
double a0, a1, a2, a3, b0, b1, b2, b3, c0, c1, c2, c3;
double l0_1, l0_2, l0_3, l0, l1_1, l1_2, l1_3, l1, l2_1, l2_2, l2_3, l2, l3_1, l3_2, l3_3, l3;
double l0_diff, l1_diff, l2_diff, l3_diff;
double P_n;
cin >> ARG;
cout << "ARG=" << ARG <<"\n";
l0_1=(ARG-X1)/(X0-X1);
l0_2=(ARG-X2)/(X0-X2);
l0_3=(ARG-X3)/(X0-X3);
l0=l0_1*l0_2*l0_3;
l1_1=(ARG-X0)/(X1-X0);
l1_2=(ARG-X2)/(X1-X2);
l1_3=(ARG-X3)/(X1-X3);
l1=l1_1*l1_2*l1_3;
l2_1=(ARG-X0)/(X2-X0);
l2_2=(ARG-X1)/(X2-X1);
l2_3=(ARG-X3)/(X2-X3);
l2=l2_1*l2_2*l2_3;
l3_1=(ARG-X0)/(X3-X0);
l3_2=(ARG-X1)/(X3-X1);
l3_3=(ARG-X2)/(X3-X2);
l3=l3_1*l3_2*l3_3;
a0=((X0-X1)/((X0-X1)*(X0-X1)))*((ARG-X2)/(X0-X2));
a1=((X1-X0)/((X1-X0)*(X1-X0)))*((ARG-X2)/(X1-X2));
a2=((X2-X1)/((X2-X1)*(X2-X1)))*((ARG-X0)/(X2-X0));
a3=((X3-X1)/((X3-X1)*(X3-X1)))*((ARG-X2)/(X3-X3));
b0=((ARG-X1)/(X0-X1))*((X0-X2)/(X0-X2)*(X0-X2));
b1=((ARG-X0)/(X1-X0))*((X1-X2)/(X1-X2)*(X1-X2));
b2=((ARG-X1)/(X2-X1))*((X2-X0)/(X2-X0)*(X2-X0));
b3=((ARG-X1)/(X3-X1))*((X3-X2)/(X3-X2)*(X3-X2));
c0=((((ARG-X1)/(X0-X1))*((ARG-X2)/(X1-X2)))*((X0-X3-ARG-X3)/((X0-X3)*(X0-X3))));
c1=((((ARG-X0)/(X1-X0))*((ARG-X2)/(X1-X2)))*((X1-X3-ARG-X3)/((X1-X3)*(X1-X3))));
c2=((((ARG-X1)/(X2-X1))*((ARG-X0)/(X1-X0)))*((X2-X3-ARG-X3)/((X2-X3)*(X2-X3))));
c3=((((ARG-X1)/(X3-X1))*((ARG-X2)/(X1-X2)))*((X3-X0-ARG-X0)/((X3-X0)*(X3-X0))));
l0_diff=a0+b0+c0;
l1_diff=a1+b1+c1;
l2_diff=a2+b2+c2;
l3_diff=a3+b3+c3;
P_n=(Y0+Y1+Y2+Y3)*(((l1_diff*l1+l0*l1_diff)*(l2*l3))+((l0*l1)*(l2_diff*l3+l2*l3_diff)));
cout << "l0=" << l0 <<"\n"<< "l1=" << l1 <<"\n"<< "l2=" << l2 <<"\n"<< "l3=" << l3 <<"\n";
cout << "l0_diff" << l0_diff <<"\n"<< "l1_diff" << l1_diff <<"\n"<< "l2_diff=" << l2_diff <<"\n"<< "l3_diff=" << l3_diff <<"\n";
cout << "P_n=" << P_n <<"\n";
system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 08:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовала формулу. Все хорошо, вот только в результатах взялось откуда-то #INF (C++):

Откуда это взялось? - Windows 7
Как-то раз сидел я за компом и решил посмотреть фильм. Захожу в мой компьютер и вижу что у диска С было свободно 105 метров, но я ничего...

Непонятно откуда взялось - Joomla
Скачал компонент JDownloads , создал категорию и увидел непонятно откуда взявшийся текст &quot;form_hidden}&quot; пишется под каждым каталогом вот...

Откуда взялось последнее выражение. - Математический анализ
Объясните пожалуйста, откуда в этом уравнении взялось последнее выражение. http://s015.***********/i332/1108/49/57058f7b5979.jpg ...

Откуда взялось выражение для напряженности? - Электричество и магнетизм
Находящийся в вакууме очень тонкий прямой стержень длины 2a заряжен с одинаковой всюду линейной плотностью λ. Для точек, лежащих на прямой,...

Откуда в коде взялось деление на нуль? - Turbo Pascal
мне паскаль пишет что в проге есть деление на нуль, хотя арифметических операций вообще нету. подскажите что делать. и еще одно:...

Не понимаю откуда взялось 10px в парааметре width - HTML, CSS
В блок &lt;div&gt; вложил картинку. Высоту блока задал по всем правилам width, а именно: Верхний padding(дива)----5px Верхняя рамка...

2
zer0mail
2399 / 2032 / 202
Регистрация: 03.07.2012
Сообщений: 7,371
Записей в блоге: 1
07.06.2013, 08:45 #2
inf - это бесконечность. На 0 где-то делите
1
Anastasia121192
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 10
07.06.2013, 08:53  [ТС] #3
Спасибо) Значит проблема в примере и значениях, что я использовала)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2013, 08:53
Привет! Вот еще темы с ответами:

Откуда взялось расстояние между <svg> и <div>? - HTML, CSS
Подскажите как заставить блоки встать &quot;впритык&quot;? Коды программ должны находиться на форуме! (Правила п.4.11) Добавлено через 12...

Прыгающий пинг на ноуте + потеря до 10% по WiFi. По проводу все хорошо, со 2 ноута все хорошо (провод + wifi) - Wi-Fi
Пинг до гугла. Ответ от 173.194.113.210: число байт=32 время=120мс TTL=56 Ответ от 173.194.113.210: число байт=32 время=154мс TTL=56 ...

поставил убунту на асус,все хорошо,только не могу запустить ни один диск с игрой - Ubuntu Linux
ребят,помогите,я уже не знаю что делать. Дело вот в чем.поставил убунту на асус,все хорошо,только не могу запустить ни один диск с игрой...

ОЗУ: если ставлю любую из 2-х планок работает все хорошо, только ставлю 2 одновременно, начинаются проблемы - Оперативная память
Добрый день! Итак 2 года комп проработал отлично, теперь начались проблемы. Описание проблемы: - экран в любой момент...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru