47095 (608080), страница 3

Файл №608080 47095 (Интерполяция функции одной переменной методом Ньютона) 3 страница47095 (608080) страница 32016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Writeln('Интерполяция функции одной переменной методом Ньютона.');

GoToXY(27,9);

Writeln('Построение графика полинома.');

GoToXY(34,12);

Writeln('Вариант #7');

GoToXY(24,17);

Writeln('Студент гр. 220371 Поляков A.M.');

GoToXY(20,19);

Writeln('Руководитель доцент, K.T.H. Давыдов B.B.');

GoToXY(33,23);

Writeln('Тула, 2008 g.');

readkey;

clrscr;

end;

{Процедура вывода пояснения к программе}

Procedure help;

begin

clrscr;

writeln (Эта программа по значениям функции f(x) заданной таблично в нескольких точках отрезка находит ее значения в ' +

+ остальных точках данного отрезка. Точки с координатами (xi, yi) называются узловыми точками или узлами.');

writeln ('Количество узлов в табличной функции должно быть равно N=n+1. ');

writeln (' После ввода количества узлов n (начальная точка (x[0],y[0]) не является узлом) нужно вводить узловые точки +

+' функции. После этого программа сможет находить значения данной функции в остальных точках отрезка (x[0]..x[n]).');

writeln (После этого на экран будут выведен график полинома.');

readkey;

clrscr;

end;

{Процедура ввод табличных значений}

procedure Enter(var X,y: per);

var

i: integer;

label mp;

begin

mp: for i:=0 to n do

begin

write('X[',i,'] = '); readln(x[i]);

write('y[',i,'] = '); readln(y[i]);

end;

for i:=0 to n-1 do

if x[i+1]-x[i]<=0 then

begin

writeln ('Ошибка. Повторите ввод.');

goto mp

end;

end;

{процедура вывода табличных значений}

procedure Print(n: integer; X,y: per); var

i: integer;

begin

for i:=0 to n do

begin

write(x[i]:12:6);

end;

writeln;

for i:=0 to n do

begin

write(y[i]:12:6);

end;

writeln;

end;

{Функция формулы Ньютона}

Function Polinom(n: integer; d:real; X,y :per):real;

var

l:real;

k,i:integer;

p: real;

begin

L:=y[0];

P:=1;

for k:=1 to n do begin

P:=P*(D-X[k-1]);

for i:=0 to (n-k) do begin

Y[i]:=(y[i+1]-y[i])/(x[i+k]-x[i]);

end;

L:=L+P*y[0];

end;

POlinom:=l;

end;

{ процедура построение графика}

procedure Grafik(n: integer; D :real ; X,Y: per; L:real);

const

step=10;

var

driver,mode: integer;

i:longint;

st:string;

u,k:integer;

begin

writeln('Введите шаг деления графика');

readln(u);

k:=26;

driver:=detect;

initgraph (driver,mode,'');

setcolor (1);

line (320,0,320,480);

line (0,240,640,240);

for i:=0 to 32 do begin

setlineStyle (1,0,0);

line (0,i*k+6,640,i*k+6);

line (i*k+8,0,i*k+8,480);

end;

setcolor (3);

outtextxy (310,15,'y');

outtextxy (620,240,'x');

for i:=0 to getmaxx div (2*k) do

begin

str (i*u,st);

outtextxy(getmaxx div 2+i*(k),getmaxy div 2+step,st);

str (-i*u,st);

outtextxy (getmaxx div 2-i*k,getmaxy div 2+step,st);

end;

for i:=1 to getmaxy div (2*k) do

begin

str (-i*u,st);

outtextxy (getmaxx div 2+step,getmaxy div 2+i*k,st);

str (i*u,st);

outtextxy (getmaxx div 2+step,getmaxy div 2-i*k,st);

end;

d:=-u*12;

repeat

d:=d+0.002;

putpixel (round(320+d*k/u),round(240+(-POlinom(n,d,x,y))*k/u),10);

until d>u*12;

readkey;

end;

{Основной текст программы}

begin

TextMode(3);

TextBackground(1);

TextColor(14);

Titul;

writeln ('Вывести пояснение к программе?? (Да-1,Нет-0)');

read (f);

if f=1 then help else

lp:clrscr;

writeln('Введите количество узлов n (N=n+1)');

read(n);

Enter(X,y);

Print(n,X,y);

repeat

lt:Writeln('BbBedite X (ot ',x[0]:4:2,' do ',x[n]:4:2,')');

read(d);

if d

writeln('Ошибка. x не может быть меньше ',x[0]:4:2);

goto lt; end;

if d>x[n] then begin

writeln('Ошибка. x не может быть больше ',x[n]:4:2);

goto lt; end;

writeln(Polinom (n,d,X,y):6:3);

writeln('Найти значения для другой точки X?(ДА-1,НЕТ-0)');

read(f)

until f=0;

Grafik(n,D,X,Y,l);

readkey;

CloseGraph;

clrscr;

writeln('Повторить для другой функции? (Да-1,Нет-0)');

read(f);

if f=1 then goto lp else end.

Исходные данные и результат решения контрольного примера

0

1

2

3

4

0

0.5

0.866

1

0.866

Вычислим значение таблично заданной функции в точке x=1.5



Ми получили значение 0.707 которое мало отличается от точного значения


.


Заключение

В курсовой работе я рассмотрел только первую формулу полинома Ньютона, которая используется вблизи начала таблицы. Интерполяционный полином в форме Ньютона удобно использовать, если точка интерполирования находится вблизи начала таблицы. Этот полином интересен тем, что каждая частичная сумма первых m слагаемых есть интерполяционный полином m-1 степени, построенный по m первым табличным точкам. Поэтому интерполяционные полиномы Ньютона удобно использовать при последовательном увеличении степени интерполяционного многочлена.

К недостатку формулы Ньютона можно отнести то, что при вычислениях в таблице с постоянным шагом при увеличении количества узлов не всегда удается добиться повышения точности вычислений. Это обусловлено тем, что равноотстоящие узлы не являются лучшими с точки зрения уменьшения погрешности интерполирования. Если имеется возможности выбора узлов интерполирования, то их следует выбирать так, чтобы обеспечить минимум погрешности интерполяции.

В процессе выполнения курсовой работы были закреплены приобретенные за период обучения навыки и умения самостоятельного составления алгоритмов и программ на языке программирования Turbo Pascal 7.0 для решения простых типовых математических задач. Эта работа ещё раз подтвердила полезность использования ЭВМ для решения прикладных математических задач. Полученные знания и накопленный опыт решения простых задач в будущем позволят разрабатывать гораздо более сложные программы и алгоритмы, облегчат разбиение сложных задач на простые элементы.

Список использованных источников

  1. Введение в численные методы/ А.А. Самарский – М.: наука, 1982.

  2. Начала программирования на языке Паскаль/С.А. Абрамов – М., 1987.

  3. Практическое руководство по методам вычислений с приложением программ для персональных компьютеров/ В.И. Ракитин – М.: Высш. шк., 1998.

  4. Программирование в среде Турбо Паскаль/Д.Б. Поляков – М., 1992.

  5. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ/ В.П. Дьяконов – М.: Наука, 1987.

  6. Турбо Паскаль 7.0/В.В. Фаронов – М., 1998.

  7. Численные методы анализа/Б.П. Демидович – М.: Государственное издательство физико-математической литературы, 1962.

  8. Численные методы /Калиткин Н.Н. – М.: 1996

  9. Немнюгин С.A. Turbo Pascal - СПб.: Питер, 2002.- 496 с,

30



Характеристики

Тип файла
Документ
Размер
8,05 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6951
Авторов
на СтудИзбе
265
Средний доход
с одного платного файла
Обучение Подробнее