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

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Нир.Ломоносовские чтения.doc

— 233.50 Кб (Скачать файл)

XIV муниципальная научно-практическая конференция «Ломоносовские чтения » 
 
 
 
 
 
 

                      Изучение методов

         интерполяции и аппроксимации 

                                                                                      Выполнила учащаяся группы ФМ3.2

                                                                                      Сарманова Снежана Геннадьевна

                                                                                     Научный руководитель: Бородкин        

                                                                                     Дмитрий Константинович,

                                                  преподаватель информатики Лицея  №2 
 
 
 
 
 
 
 
 
 
 
 
 

                                                     г.Ангарск, 2009

                           

Содержание

  1. Аннотация……………………………...…………………………………………………....3
  2. Цель, задачи……………………………………………………………………...……….....3
  3. Введение………………………………………………………………………..…….……...4
  4. Линейная интерполяция………………………………………………………....……...….5
    • Теория ………………………………………………………………………….........5
    • Блок-схема……………………………………………………………...……………6
    • Текст программы……………………………………………………………..….….7
    • Пример…………………………………………………………………..……….…..7
  5. Квадратичная интерполяция………….………………………………………..…………..8
    • Теория…………………………………………………………………….……….. 10
    • Блок-схема…………………………………………………………….....…………11
    • Текст программы…………………………………………………………….……..12
    • Пример……………………………………………………………………………...13
  1. Инструкция по работе с программами……………............................................................16
  1. Заключение…………………………………………………………………………………17
  2. Список литературы………………………………………………………………………...18

                     

                                          
 
 
 
 
 
 
 
 
 
 
 

                                                             Аннотация

    В данной работе излагаются основные численные методы решения математических задач, возникающих при исследовании физических и технических проблем. Изложенные методы пригодны как для расчетов на ЭВМ, так и для «ручных» расчетов.

Огромное  количество численных методов ставит актуальной задачей не столько создание новых, сколько исследование и классификацию старых, выявление лучших.

   Данная  работа будет полезна студентам, аспирантам, преподавателям университетов и технических институтов, научным работникам и инженерам-исследователям, а так же всем, кто имеет дело с численными расчетами.  

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

Задачи:

  • Изучить и проанализировать научную, справочную литературу
  • Подобрать наиболее простые и лучшие методы решения уравнений первой и второй степени
  • Составить алгоритм решения уравнений в виде блок-схемы
  • Разработать программы в системе программирования Borland Turbo Pascal 7.0
 

Гипотеза: создание программ для нахождения неизвестных значений функции в системе программирования позволит значительно сократить затраты времени по сравнению с ручными  расчетами. 
 
 
 
 
 
 
 

                                                      

Введение

  Если задана функция 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 ,                                      (1) 

,       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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Информация о работе Изучение методов интерполяции и аппроксимации