Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Новички в программировании > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.10.2017, 19:53   #1
Михаил_2017
Новичок
 
Регистрация: 20.10.2017
Сообщений: 2
Репутация: 10
Восклицание Интерполяция методом Ньютона - Scilab. Проверьте моё решение, есть код.

Дана функция заданная в виде таблицы:

x-аргумент, у-функция

X: 0,20,40,60,80,100
Y: -0.67;-0.254;0.171;0.609;1.057;1.517

Найти интерполяционный полином методом Ньютона и построить график.

Проверьте, пожалуйста, правильно ли я сделал?

Цитата:
x=const;
T=[0;0;20;0;40;0;60;0;80;0;100]
U=[-0.67;0;-0.254;0;0.171;0;0.609;0;1.057;0;1.5 17]

A1=zeros(11,1)
A2=zeros(11,1)
A3=zeros(11,1)
A4=zeros(11,1)
A5=zeros(11,1)
A6=zeros(11,1)

M=[T,U,A1,A2,A3,A4,A5,A6]
disp(M)

A1(2)=(U(3)-U(1))/(T(3)-T(1))
A1(4)=(U(5)-U(3))/(T(5)-T(3))
A1(6)=(U(7)-U(5))/(T(7)-T(5))
A1(8)=(U(9)-U(7))/(T(9)-T(7))
A1(10)=(U(11)-U(9))/(T(11)-T(9))

A2(3)=(A1(4)-A1(2))/(T(5)-T(1))
A2(5)=(A1(6)-A1(4))/(T(7)-T(3))
A2(7)=(A1(8)-A1(6))/(T(9)-T(5))
A2(9)=(A1(10)-A1(8))/(T(11)-T(7))

A3(4)=(A2(5)-A2(3))/(T(5)-T(3))
A3(6)=(A2(7)-A2(5))/(T(7)-T(5))
A3(8)=(A2(9)-A2(7))/(T(9)-T(7))

A4(5)=(A3(6)-A3(4))/(T(7)-T(3))
A4(7)=(A3(8)-A3(6))/(T(9)-T(5))

A5(6)=(A4(7)-A4(5))/(T(7)-T(5))

M=[T,U,A1,A2,A3,A4,A5,A6]
disp(M)

f=-0.67+0.0208*(x-0)+0.0000112*(x-0)*(x-20)+0.0000002*(x-0)*(x-20)*(x-40)+-1.049D-08*(x-0)*(x-20)*(x-40)*(x-60)+9.375D-10*(x-0)*(x-20)*(x-40)*(x-60)*(x-80)

disp(f)
Михаил_2017 вне форума   Ответить с цитированием
Старый 20.10.2017, 23:01   #2
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,342
Репутация: 3623
По умолчанию

В Scilab не разбираюсь. Какой результат проверки вы хотите? Разве недостаточно проверить значения получившегося полинома в экспериментальных точках?
Вадим Мошев вне форума   Ответить с цитированием
Старый 20.10.2017, 23:08   #3
Михаил_2017
Новичок
 
Регистрация: 20.10.2017
Сообщений: 2
Репутация: 10
По умолчанию

Ну, видимо нужно получить функцию, которая описывает значения из заданной таблицы. Но дело в том, что x не задается как просто неопределенная константа, и соответственно нельзя получить на выходе выражение с x.
Михаил_2017 вне форума   Ответить с цитированием
Старый 20.10.2017, 23:11   #4
ura_111
Профессионал
 
Регистрация: 14.05.2016
Сообщений: 1,747
Репутация: 354
По умолчанию

Я просто предполагаю...

А разве нельзя в

-0.67+0.0208*(x-0)+0.0000112*(x-0)*(x-20)+0.0000002*(x-0)*(x-20)*(x-40)+-1.049D-08*(x-0)*(x-20)*(x-40)*(x-60)+9.375D-10*(x-0)*(x-20)*(x-40)*(x-60)*(x-80)

подставлять по очереди:

X: 0,20,40,60,80,100

и получать:

Y: -0.67;-0.254;0.171;0.609;1.057;1.517

при этом считая на калькуляторе?


Или там ошибка расчёта будет (т.е. не точное представление таблицы-функции)?
ura_111 вне форума   Ответить с цитированием
Старый 21.10.2017, 02:18   #5
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,342
Репутация: 3623
По умолчанию

Цитата:
Сообщение от Михаил_2017 Посмотреть сообщение
Ну, видимо нужно получить функцию, которая описывает значения из заданной таблицы. Но дело в том, что x не задается как просто неопределенная константа, и соответственно нельзя получить на выходе выражение с x.
Суть интерполяции (полиномом) состоит в том, что вам необходимо найти коэффициенты для многочлена, при которых он наилучшим образом будет описывать экспериментальные данные, то есть, чтобы разница между экспериментальными данными и значениями многочлена при найденных коэффициентах была минимальной. В в виде формул: |Yэ - P(Xэ)| -> 0, где Xэ, Yэ - заданные экспериментальным данные, P - многочлен с найденными коэффициентами.

Думаю, из этого следует, что проверить правильность расчётов можно, если сравнить Yэ и P(Xэ) между собой. Они должны быть близки друг к другу.
Вадим Мошев вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерполяция методом Ньютона (Scilab) CraZZZy-GameRRR Помощь студентам 0 18.05.2014 20:24
Решение СНАУ методом Ньютона Tina Помощь студентам 7 09.04.2012 08:52
решение уравнения методом хорд и методом Ньютона Маргоша)) Общие вопросы Delphi 1 21.04.2010 20:40
Решение уравнения F(x)=0 методом Ньютона BGR71 Помощь студентам 2 13.04.2010 15:26
проверьте моё решение sverhuVniz Паскаль 4 25.10.2008 09:26




15:15.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru