Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2017, 18:53   #1
Михаил_2017
 
Регистрация: 20.10.2017
Сообщений: 3
Восклицание Интерполяция методом Ньютона - 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, 22:01   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

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

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

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

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

-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, 01:18   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерполяция методом Ньютона (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 Паскаль, Turbo Pascal, PascalABC.NET 4 25.10.2008 09:26