Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Vadim00311
1 / 1 / 0
Регистрация: 22.10.2016
Сообщений: 105

Подскажите добрым советом по полиному Ньютона

20.10.2017, 12:00. Показов 638. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно по заданию даны значения Yi=y(Xi)
(-0.16,0.01,0.1,0.16,0.05,0.35,0.19,0.5,0. 74,1.03,1.06,1.49,1.79,2.03,2.22,
2.50,2.88,3.21,3.63,3.90).
Также даны значения Xi = 0.1*i, т.е. X1..X10 = (0.1 , 0.2 , 0.3 , 0.4 ,0.5 , 0.6 , 0.7 ,0.8 , 0.9 , 1 , 1.1 , 1.2 , 1.3, 1.4, 1.5, 1.6 , 1.7 , 1.8, 1.9 , 2)

Полином Ньютона, интерполирующий заданную функцию, рассчитывается в нашем случае по 20 заданным точкам. Вот некоторые из них: y(0.1)=-0.16, y(1)=1.03, y(1.5)=2.22, y(2)=3.9, т.е. как я понял из теории - если полином найден правильно, то обязательно в ЭТИХ ДВАДЦАТИ точках значения полинома будут ТАКИМИ ЖЕ, как у заданной функции (в P(1)=1.03 в P(1,5)=2,22 в P(2)=3,9);

Программу на паскале я написал, но почему-то не сходятся значения в указанных узловых точках. Очень хочу разобраться. Может кто то поможет исправить мою ошибку.

Pascal
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
program newton;
type
TVector = array [0..19] of real;
const
MassYi: TVector=(-0.16,0.01,0.1,0.16,0.05,0.35,0.19,0.5,0.74,1.03,1.06,1.49,1.79,2.03,2.22,
2.50,2.88,3.21,3.63,3.90);
Var
p,t:real;
x,y:TVector; 
 
function NewtonInterpolate(n : Integer;
     const x : TVector;
     y : TVector;
     t : Double):Double;
var
    I : Integer;
    k : Integer;
    i1 : Integer;
    l : Double;
    s : Double;
begin
    l := y[0];
    s := 1;
    i:=n;
    while i>=1 do
    begin
        i1 := n-i;
        k:=0;
        while k<=i-1 do
        begin
            y[k] := (y[k+1]-y[k])/(x[k+1+i1]-x[k]);
            Inc(k);
        end;
        s := s*(t-x[i1]);
        l := l+y[0]*s;
        Dec(i);
    end;
    Result := l;
end;
 
begin
for i:integer:=0 to 19 do
begin
x[i]:=0.1*i;
y[i]:=MassYi[i];
end;
t:=1;
while t<=10 do
begin
p:=NewtonInterpolate(19,x,y,t);
writeln('P['+t+']='+p);
t:=t+0.5;
end;
end.
Вот что в итоге получается
P[1]=1.05999999999987
P[1.5]=2.49999999997908
P[2]=44629.7500000026
P[2.5]=1620611621.19
P[3]=697082354517.248
P[3.5]=60834435096799
P[4]=2.16524962272972E+15
P[4.5]=4.28784412010211E+16
P[5]=5.59831996173222E+17
P[5.5]=5.34781995161794E+18
P[6]=4.00411768693433E+19
P[6.5]=2.46567587316915E+20
P[7]=1.29318528568012E+21
P[7.5]=5.93059580763898E+21
P[8]=2.42690419901155E+22
P[8.5]=9.00451381397378E+22
P[9]=3.06822070849227E+23
P[9.5]=9.70211886324849E+23
P[10]=2.87174266375432E+24

Видно что значения в узловых точках не совпадают (((
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2017, 12:00
Ответы с готовыми решениями:

Подскажите советом
Помогите советом Уважаемые.Мой сайт www.otmichka.ru Во свех поисковиках кроме Яши мы занимаем...

Подскажите советом
Как мне сделать,т.е.какой тип определить, или какую функцию использовать, чтобы вывод на экран...

Подскажите с советом
всем доброго вечера,решился удосужиться прошить биос,так не могу найти прошивку!!! вот поясните...

1
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8655 / 4490 / 1669
Регистрация: 01.02.2015
Сообщений: 13,898
Записей в блоге: 12
20.10.2017, 23:47
Вы слегка неправильно вычисляете коэффициенты.
Интерполирование "Вперёд" (Метод Ньютона)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2017, 23:47
Помогаю со студенческими работами здесь

Подскажите, пожалуйста, советом!
Добрый день, уважаемые форумчане! Прошу прощения, если такой вопрос уже был, и моя тема помещена...

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

Подскажите советом в сборке пк
Здравствуйте. Прошу помочь по составлению кон-ции компьютера. От компьютера нужна быстрая работа...

Подскажите советом.Изменение структуры проведения
На работе поставили задачу. Сам я просто сисадмин и в этом честно говоря не шарю. Подскажите или...

Подскажите с советом в выборе игрового компьютера
Всем привет, хочу собрать себе комп для игр. Бюджет 45-48 шт. Монитор 1920х1080. Живу в городе...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru