Автор работы: Пользователь скрыл имя, 20 Декабря 2010 в 19:02, курсовая работа
Цель работы: разработать программы вычисления значений функции f(x) для значений х, не содержащихся в таблице.
Задачи:
•Изучить и проанализировать научную, справочную литературу
•Подобрать наиболее простые и лучшие методы решения уравнений первой и второй степени
•Составить алгоритм решения уравнений в виде блок-схемы
•Разработать программы в системе программирования Borland Turbo Pascal 7.0
1.Аннотация……………………………...…………………………………………………....3
2.Цель, задачи……………………………………………………………………...……….....3
3.Введение………………………………………………………………………..…….……...4
4.Линейная интерполяция………………………………………………………....……...….5
◦Теория ………………………………………………………………………….........5
◦Блок-схема……………………………………………………………...……………6
◦Текст программы……………………………………………………………..….….7
◦Пример…………………………………………………………………..……….…..7
5.Квадратичная интерполяция………….………………………………………..…………..8
◦Теория…………………………………………………………………….……….. 10
◦Блок-схема…………………………………………………………….....…………11
◦Текст программы…………………………………………………………….……..12
◦Пример……………………………………………………………………………...13
6.Инструкция по работе с программами……………............................................................16
7.Заключение…………………………………………………………………………………17
8.Список литературы………………………………………………………………………...18
XIV муниципальная
научно-практическая конференция «Ломоносовские
чтения »
Изучение методов
интерполяции и аппроксимации
Содержание
В данной работе излагаются основные численные методы решения математических задач, возникающих при исследовании физических и технических проблем. Изложенные методы пригодны как для расчетов на ЭВМ, так и для «ручных» расчетов.
Огромное количество численных методов ставит актуальной задачей не столько создание новых, сколько исследование и классификацию старых, выявление лучших.
Данная работа будет полезна студентам,
аспирантам, преподавателям университетов
и технических институтов, научным работникам
и инженерам-исследователям, а так же всем,
кто имеет дело с численными расчетами.
Цель
работы: разработать
программы вычисления значений функции
f(x) для значений х, не содержащихся
в таблице.
Задачи:
Гипотеза: создание программ
для нахождения неизвестных значений
функции в системе программирования позволит
значительно сократить затраты времени
по сравнению с ручными расчетами.
Введение
Если задана функция y (x), то это означает, что любому допустимому значению х сопоставлено значение у. Но нередко оказывается, что нахождение этого значения очень трудоемко. Например, у(х) может быть определено как решение сложной задачи, в которой х играет роль параметра, или у(х) измеряется в дорогостоящем эксперименте. При этом можно вычислить небольшую таблицу значений функции, но прямое нахождение функции при большом числе значений аргумента будет практически невозможно.
Функция у(х) может участвовать в каких-либо
физико-технических или чисто математических
расчетах, где её приходится многократно
вычислять. В этом случае выгодно заменить
функцию у(х) приближенной формулой,
т. е. подобрать некоторую функцию φ (х),
которая близка в некотором смысле к
у(х) и просто вычисляется. Затем при
всех значениях аргумента полагают у(х)
φ(х). Близость получают введением
в аппроксимирующую функцию свободных
параметров а={а1,
а2, …,
аn} и соответствующим
их выбором. В этом случае используются
такие понятия как, аппроксимация
и интерполяция.
ИНТЕРПОЛЯЦИЯ (от лат. interpolatio — изменение, переделка) - отыскание промежуточных значений величины по некоторым известным ее значениям. Например, отыскание значений функции f( x) в точках x, лежащих между точками x0 по известным значениям yi = f( xi) (где i = 0,1,..., n). Если x лежит вне интервала ( x0, xn), аналогичная процедура называется экстраполяцией.
Основная
цель интерполяции – получить быстрый
(экономичный) алгоритм вычисления значений
f(x) для значений х, не содержащихся
в таблице.
АППРОКСИМАЦИЯ (от лат. approximo — приближаюсь) - замена одних математических объектов (например, чисел или функций) другими, более простыми и в том или ином смысле близкими к исходным (например, кривых линий близкими к ним ломаными).
Огромное количество
численных методов ставит актуальной
задачей не столько создание новых, сколько
исследование и классификацию старых,
выявление лучших. Именно поэтому в данной
работе будут рассмотрены два вида интерполяции
– линейная и квадратичная.
Линейная
интерполяция
Простейшим и часто используемым видом локальной интерполяции является линейная ( или кусочно-линейная) интерполяция. Она состоит в том, что заданные точки ( хi, уi) ( i=0, 1, …, n) соединяются прямолинейными отрезками, и функция f(х) приближается ломаной с вершинами в данных точках.
Рис. пример интерполяции
Уравнения каждого отрезка ломаной в каждом случае разные. Поскольку имеется n интервалов ( хi-1 , хi), то для каждого из них в качестве уравнения интерполяционного многочлена используется уравнение прямой, проходящей через две точки. В частности, для i-го интервала можно написать уравнение, проходящей через точки ( хi-1 , уi-1 ) и (хi , yi), в виде
=
Отсюда
y= aix + bi
; xi-1
≤ x ≤ xi ,
,
bi= yi-1
– aixi-1 .
Следовательно,
при использовании линейной интерполяции
сначала нужно определить интервал, в
который попадает значение аргумента
х, а затем подставить его в формулу
(1) и найти приближенное значение функции
в этой точке.
Данный алгоритм представлен на рисунке
Нет
Текст программы:
Program interpol;
Const N=3;
Var x: array [1..N] of real;
y: array [1..N] of real;
a, b, xр, yр : real;
i: integer;
begin
for i:=1 to N do
begin {ввод данных через массивы}
writeln (‘x[‘,i,’]=’);
readln (x[i]);
writeln (‘y[‘,i,’]=’);
readln (y[i]);
end;
write (‘vvedite x=’); {ввод промежуточного значения}
readln (xр);
for i:=2 to N do
if (x[i-1]<=xp) and (xp<=x[i-1]) then
begin
a:= (y[i] – y[i-1]) / (x[i] – x[i-1]);
b:= y [i-1] – a*x[i-1];
yр:= a*xр + b
else writeln (‘ekstrepolyazia’);
readln;
end;
writeln (‘y=’, yр); {вывод искомого значения}
readln;
end.
Пример. Найти
значение функции y=f(x), изображенной
на рисунке, при х=1
Воспользуемся
формулой линейной интерполяции(1). Значение
х=1 находится между точками хi =2
и хi-1 = 0. Отсюда имеем
=
bi=
yi-1 – ai ٠xi-1 = 4 – 0.5٠0=4
у= а٠хр
+b = -0.5 ٠1 + 4 = 3.5
Результаты выполнения программы
На рисунке 1 показан вид окна программы при вводе исходных данных
Рис.1
На рисунке 2 представлен вид окна программы после вывода результатов
Рис.2
Исполнимый
модуль программы находится в
файле с именем interpol1.exe
Пример 2.
Если в
два часа ночи температура
воздуха была +10, а в шесть утра
- +25,
то используя линейную интерполяцию можно
предположить
что в три часа ночи температура воздуха
была равна
(25 - 10) / (6 - 2) * (3 - 2) + 10 = 13.75
Информация о работе Изучение методов интерполяции и аппроксимации