Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Вычислительная техника и программирование

Тип Реферат
Предмет Информатика и программирование
Просмотров
558
Размер файла
104 б
Поделиться

Ознакомительный фрагмент работы:

Вычислительная техника и программирование

КУРСОВАЯ РАБОТА

по теме: "Вычислительная техника и программирование"

Киев

Введение

Если задана функция y(x), то это означает, что любому допустимому значению х сопоставлено значение у. Но нередко оказывается, что нахождение этого значения очень трудоёмко. Например, у(х) может быть определено как решение сложной задачи, в которой х играет роль параметра или у(х) измеряется в дорогостоящем эксперименте. При этом можно вычислить небольшую таблицу значений функции, но прямое нахождение функции при большом числе значений аргумента будет практически невозможно. Функция у(х) может участвовать в каких-либо физико-технических или чисто математических расчётах, где её приходится многократно вычислять. В этом случае выгодно заменить функцию у(х) приближённой формулой, то есть подобрать некоторую функцию j(х), которая близка в некотором смысле к у(х) и просто вычисляется. Затем при всех значениях аргумента полагают у(х)"j(х).

Что касается критерия согласия, то классическим критерием согласия является "точное совпадение в узловых точках". Этот критерий имеет преимущество простоты теории и выполнения вычислений, но также неудобство из-за игнорирования шума (погрешности, возникающей при измерении или вычислении значений в узловых точках). Другой относительно хороший критерий — это "наименьшие квадраты". Он означает, что сумма квадратов отклонений в узловых точках должна быть наименьшей возможной или, другими словами, минимизирована. Этот критерий использует ошибочную информацию, чтобы получить некоторое сглаживание шума. Третий критерий связывается с именем Чебышева. Основная идея его состоит в том, чтобы уменьшить максимальное отклонение до минимума. Очевидно, возможны и другие критерии.

Цель задачи о приближении (интерполяции): данную функцию у(х) требуется приблизительно заменить некоторой функцией j(х), свойства которой нам известны так, чтобы отклонение в заданной области было наименьшим. интерполяционные формулы применяются, прежде всего, при замене графически заданной функции аналитической, а также для интерполяции в таблицах.

Один из подходов к задаче интерполяции — метод Лагранжа. Основная идея этого метода состоит в том, чтобы прежде всего найти многочлен, который принимает значение 1 в одной узловой точке и 0 во всех других. Легко видеть, что функция (1) является требуемым многочленом степени n; он равен 1, если X=Xj и 0, когда X=Xi, i¹j.

(1)

Многочлен Lj(x)×Yj принимает значения Yi в i-й узловой точке и равен 0 во всех других узлах. Из этого следует, что (2) есть многочлен степени n, проходящий через n+1 точку (Xi, Yi).

(2)

Другой подход — метод Ньютона (метод разделённых разностей). Этот метод позволяет получить аппроксимирующие значения функции без построения в явном виде аппроксимирующего полинома. В результате получаем формулу для полинома Pn, аппроксимирующую функцию f(x):

P(x)=P(x0)+(x-x0)P(x0,x1)+(x-x0)(x-x1)P(x0,x1,x2)+…+

(x-x0)(x-x1)…(x-xn)P(x0,x1,…,xn);

разделённая разность 1-го порядка;
разделённая разность 2-го порядка и т.д.

Значения Pn(x) в узлах совпадают со значениями f(x)

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

Постановка задачи:

1. Построить интерполяционный полином Ньютона по значениям функции в узлах: .

2. Математическая постановка задачи:

Формула выглядит так:

Разделённая разность:

.

1.Алгоритм программы Polinom

Рис.1Схема алгоритма подпрограммы Swap

Рис.2 Схема алгоритма подпрограммы Null

Рис.3 Схема алгоритма подпрограммы Rise

Рис.4 Схема алгоритма подпрограммы Calculat


Рис.5 Схема алгоритма подпрограммы Vvod

Рис.6 Схема алгоритма программы Print_Polinom


Рис.7 Схема алгоритма подпрограммы Div_Res

Рис.8Схема алгоритма программы Nuton


Рис.9 Схема алгоритма подпрограммы Recover

Рис.10 Блок-схема программы Polinom

2. Листинг программы Polinom

Реализуем алгоритм на языке высокого уровня TurboPascal, используя подпрограммы.


PROGRAMPOLINOM; {Программа построения интерполяционного полинома Ньютона}

Uses Crt;

Const Max_Num_Usel=20; {Количествоузлов}

Type

Matrix_Line = Array[1..Max_Num_Usel] Of Real;

Var Max:Byte;

X,F:Matrix_Line;

PROCEDURE Swap(Var First,Second:real); {Обменадвух REAL переменных}

Var Temp:Real;

Begin

Temp:=First;

First:=Second;

Second:=Temp;

End; {Swap}

FUNCTION Rise(Root:Real;Power:Integer):Real; {Возведениевстепень}

Var Temp:Real;

i:Integer;

Begin

Temp:=1;

For i:=1 To Power Do

Temp:=Temp*Root;

Rise:=Temp;

End; {Rise}

PROCEDURE Null(Last:Byte;Var M:Matrix_Line); {Обнулениематриц}

Var i:Byte;

Begin

For i:=1 To Last Do

M[i]:=0;

End; {Null}

PROCEDURE Calculat(Num:Integer;Cx:Matrix_Line); {вычислениезначенийполинома}

Var x,y:Real;

i:Integer;

Finish:Boolean;

c:Char;

Begin

Writeln('***********************************************');

Writeln;

Writeln('Вычисление значений интерполяционного полинома:');

Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

Writeln('Введите значение x:');

Repeat

y:=0;

Readln(x);

For i:=Num DownTo 1 Do

y:=y+Cx[i]*Rise(x,i-1);

Writeln('Значение полинома в точке Xo=',x:7:4,' равно Yo=',y:7:4);

Write('Нажмите `ESC` для выхода или любую клавишу для продолжения');

c:=Readkey;

If c=#27 Then Finish:=True Else Finish:=False;

GoToXY(1,WhereY-2);

DelLine; DelLine;DelLine;

Until Finish;

End; {Calculat}

PROCEDURE Vvod(Var Mat_x,Mat_f:Matrix_Line;Var Number:Byte);

Var c:Char;

i,j:Integer;

Enter:Boolean;

Begin

ClrScr;

Writeln('Построение интерполяционного полинома Ньютона по значениям функции в узлах');

Writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);

Writeln;

Writeln('Введите кол-во узлов интерполяции (0<N<',Max_Num_Usel,'):');

Repeat

Readln(Number);

Until (Number<Max_Num_Usel);

ClrScr;

Writeln('Значения узлов не должны сопадать');

Writeln('Введите значения узлов и значения функций в них:');

For i:=1 To Number Do

Begin

Repeat

{Вводузлов}

Enter:=True;{Правильностьввода}

GoToXY(5,i+3);

Write('X(',i-1,')=');

Readln(Mat_x[i]);

For j:=i-1 DownTo 1 Do

If (Mat_x[j]=Mat_x[i]) Then {Проверка на одинаковые узлы}

Begin

Writeln('Значения узлов ',i,' и ',j,' введены неверно!!!');

Write('Нажмите `Y` для повторения ввода или любую клавишу для выхода');

c:=Readkey;

If (c='Y') Or (c='y') Then Enter:=False Else Halt;

GoToXY(5,i+3);

DelLine;DelLine;DelLine;

End;

UntilEnter;

{Ввод значений функции в узлах}

GoToXY(35,i+3);

Write('Y(',Mat_x[i]:5:2,')=');

Readln(Mat_f[i]);

End;

{Сортировка узлов по возрастанию}

Fori:=1 ToNumberDo

For j:=i To Number Do

If (Mat_x[j]<Mat_x[i]) Then

Begin

Swap(Mat_x[j],Mat_x[i]);

Swap(Mat_f[j],Mat_f[i]);

End;

End;{Vvod}

{Распечаткаполинома}

PROCEDURE Print_Polinom(N:Integer;Cx:Matrix_Line);

Var i:Integer;

c:Char;

Begin

Writeln;

Writeln('ПолиномНьютона:');

Write('P',N-1,'(x)=');

Fori:=NDownTo 1 Do

IfRound(Cx[i]*1000)<>0 Then{Если в числе не более 3х нулей после запятой,}

Begin{тогда выводим его на экран}

If (Cx[i]<0) Then Write(' - ') Else Write(' + ');

Write(ABS(Cx[i]):5:3);

If (i>2) Then Write('·x^',i-1) Else

If (i>1) Then Write('·x')

End;

Writeln;

Writeln;

Writeln('Нажмите `ESC` для выхода или любую клавишу для вычисления значения полинома');

c:=Readkey;

GoToXY(1,WhereY-1);

DelLine;DelLine;

If c<>#27 Then Calculat(N,Cx);

End;{Print_Polinom}

PROCEDURE Recover(Current,Number:byte; Var Result,Mat_X:Matrix_Line);

{Восстановление коэффициентов полинома по его корням}

Var Process,i,j,k:Integer;

Begin

{Заносим первый линейный множитель вида (X - Cn) в Result}

k:=2; {Количество коэффициентов в Result = 2}

IfCurrent<>1 Then{Если исключаем не Х1, то Result[1] = X1}

Begin

Result[1]:=-Mat_X[1];

Process:=2 {Начнем обработку со второго множителя}

End

Else Begin {Иначе Result[1] = X2}

Result[1]:=-Mat_X[2];

Process:=3 {Начнем обработку с третьего множителя}

End;

Result[2]:=1; {В любом случае Result[2] = 1, т.к. все множители вида (X - Cn) }

For i:=Process To Number Do

If i<>Current Then

Begin

For j:=k DownTo 1 Do {Домнoжаемполученныйполиномна X}

Result[j+1]:=Result[j];

Result[1]:=0; {Поэтому C0 = 0}

Forj:=1 TokDo{Домнoжаем полученный полином на Cn = -X[n]}

Result[j]:=Result[j]-Mat_X[i]*Result[j+1];

Inc(k); {Размерность полинома увеличилась}

End;

End; {Recover}

PROCEDURE Nuton(Number:Byte;Var Mat_x,Mat_f:Matrix_Line);

{ИнтерполяционнаяформулаНьютона }

Var i,j:integer;

Temp,Result:Matrix_Line;

C:real;

{Функция вычисления разделенной разности по начальному и конечному узлам}

Function Div_Res(Beg_Usel,Fin_Usel:Byte;Var Xn,Fn:Matrix_Line):real;

Begin

Beg_Usel:=Beg_Usel+1;

If Beg_Usel=Fin_Usel Then

Div_Res:=(Fn[Fin_Usel]-Fn[Beg_Usel-1])/(Xn[Fin_Usel]-Xn[Beg_Usel-1])

Else Div_Res:=(Div_Res(Beg_Usel,Fin_Usel,Xn,Fn)-Div_Res(Beg_Usel-1,Fin_Usel-1,Xn,Fn))/(Xn[Fin_Usel]-Xn[Beg_Usel-1]);

End; {Div_Res}

Begin {Nuton}

Null(Number,Result);

Null(Number,Temp);

For i:=2 To Number Do

Begin

Recover(Number+1,i-1,Temp,Mat_x);

c:=Div_Res(1,i,Mat_x,Mat_f); {Значение разделенной разности 1 и i-го узлов}

For j:=1 To i Do

Result[j]:=c*Temp[j]+Result[j];

End;

Result[1]:=Result[1]+Mat_f[1];

Print_Polinom(Number,Result)

End;{Nuton}

Begin{Main}

Null(Max_Num_Usel,X);

Null(Max_Num_Usel,F); {Начальное обнуление матриц}

Vvod(X,F,Max);

Nuton(Max,X,F);

End.{Main}

3. Пример работы программы

Чтобы проверить правильно ли у нас строится полином Ньютона, разложим какую-нибудь известную функцию. Например, y=sin(x) на интервале Х от 0.1 до 0.9. Полином будем строить по 5 точкам (шаг 0.2). Данные в программу вводим согласно таблице 1.


Таблица 1. Исходные значения для программы.

xy(x)
0.10.0998
0.30.2955
0.50.4794
0.70.6442
0.90.7833

На инженерном калькуляторе вычисляем Sin(0.4)= 0.3894

Результаты работы программы:

Построение интерполяционного полинома Ньютона по значениям функции в узлах

Введите кол-во узлов интерполяции (0<N<20): 5

Значения узлов не должны сопадать

Введите значения узлов и значения функций в них:

X(0)=0.1 Y( 0.10)=0.0998

X(1)=0.3 Y( 0.30)=0.2955

X(2)=0.5 Y( 0.50)=0.4794

X(3)=0.7 Y( 0.70)=0.6442

X(4)=0.9 Y( 0.90)=0.7833

Полином Ньютона:

P4(x)= + 0.018·x^4 - 0.181·x^3 + 0.005·x^2 + 0.99


Рисунок 11. Результат работы программы Polinom

Вычисление значений интерполяционного полинома:

Введите значение x:

0.4

Значение полинома в точке Xo= 0.4000 равно Yo= 0.3894

Рисунок 12. Результат вычисления значения полинома

Заключение

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

Выполняя курсовую работу, я познакомилась с понятием интерполяция, укрепила свои знания в программировании на языке Turbo Pascal и при оформлении курсовой работы получила практические навыки при работе в пакетах Microsoft Word и Microsoft Visio.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно