65819

Интерполирование

Лабораторная работа

Информатика, кибернетика и программирование

Цель: Применяя методы интерполяции найти аппроксимацию функции заданной таблично. значения этой функции при указанных значениях аргумента х. Выполнить интерполирование и построить график зависимости интерполирующей функции от х на отрезке определенном крайними узлами таблицы.

Русский

2014-08-06

344 KB

5 чел.

Выполнил: Марудо А.В., 2 курс, 3 группа

Проверил: Шапочкина Ирина Викторовна

Лабораторная работа #2(вариант #21)

Тема: Интерполирование.

Цель: Применяя методы интерполяции, найти аппроксимацию функции  заданной таблично. Найти прибл. значения этой функции при указанных значениях аргумента х.

Задание 1

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

2.70

2.75

2.80

2.85

2.90

2.95

3.00

3.3862

3.2342

3.0749

2.9084

2.7349

2.5548

2.3683

                        

Ход работы: 

Блок-схема построения интерполяционного полинома Ньютона:

Код программы:

//применим формулу полинома Ньютона для нахождения значений функции

 for i:=1 to 7 do

 y[i,1]:=f[i];

  for j:=2 to 7 do

    for k:=2 to j do

     begin

       y[j,k]:=( y[j,k-1]-y[k-1,k-1] )/( x[j]-x[k-1] );

     end;

   f1:=y[7,7];

   f2:=y[7,7];

   for j:=7 downto 2 do

    begin

     f1:=f1*( x1-x[j-1] )+y[j-1,j-1];

     f2:=f2*( x2-x[j-1] )+y[j-1,j-1];

   end;

 Edit3.Text:=FloatToStr(f1);

 Edit4.Text:=FloatToStr(f2);

 chart1.Series[2].AddXY(x1,f1);

 chart1.Series[2].AddXY(x2,f2);

//строим график функции и исходные точки

 x0:=x[1];

 repeat

   fx:=y[7,7];

   for j:=7 downto 2 do fx:=fx*(x0-x[j-1])+y[j-1,j-1];

   chart1.Series[0].AddXY(x0,fx);

   x0:=x0+dx;

 until x0>x[7];

Полученные результаты:

Задание 2

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

1.14

1.23

1.32

1.41

1.50

1.59

1.68

0.6723

0.5149

0.3242

0.1184

-0.0685

-0.1914

-0.2108

                        

Ход работы:

Блок-схема для построения интерполяционного кубического сплайна:

Код программы:

//находим шаг

for i:=1 to 7 do

     begin

      h[i]:=x[i]-x[i-1];

      a[i]:=y[i-1];

     end;

//решаем трехдиагональную матрицу методом прогонки для нахождения коэффициентов с. Для этого находим вспомогательные коэффициенты u и v.

    for i:=2 to 7 do

     begin

      w[i]:=h[i-1];

      u[i]:=2*(h[i-1]+h[i]);

      v[i]:=3*((y[i]-y[i-1])/h[i]-(y[i-1]-y[i-2])/h[i-1]);

     end;

//производим прямую прогонку матрицы

    k[1]:=0;

    l[1]:=0;

    for i:=2 to 7 do

     begin

      k[i]:=(v[i]-w[i]*k[i-1])/(u[i]-w[i]*l[i-1]);

      l[i]:=h[i]/(u[i]-w[i]*l[i-1]);

     end;

//затем обратную и находим коэффициенты с

    c[8]:=0;

    for i:=7 downto 1 do c[i]:=k[i]-l[i]*c[i+1];

    i:=0;

    repeat

     i:=i+1;

//вычисляем остальные коэффициенты

     if (x[i]>p) and (x[i-1]<=p) then

      begin

       a[i]:=y[i-1];

       d[i]:=(c[i+1]-c[i])/(3*h[i]);

       b[i]:=(y[i]-y[i-1])/h[i]-1/3*h[i]*(c[i+1]+2*c[i]);

//теперь можно вычислять значение функции в любой точке

       s:=a[i]+b[i]*(p-x[i-1])+c[i]*sqr(p-x[i-1])+d[i]*sqr(p-x[i-1])*(p-x[i-1]);

       result:=s;

      end;

    until i>7;

Полученные результаты:

Вывод:

В заданиях 1 и 2 графики интерполирующих функций проходят через заданные точки, приближенно вычисленные значения указанных аргументов также лежат на графике функции, следовательно интерполяция проведена успешно

БГУ

Физический факультет

2011/2012 учебный год

Минск

PAGE   \* MERGEFORMAT 5


 

А также другие работы, которые могут Вас заинтересовать

38823. Оценка экономической эффективности мероприятий по снижению пожарного риска 4.56 MB
  Определение расчетных величин пожарного риска на объекте осуществляется на основании: анализа пожарной опасности объекта; определения частоты реализации пожароопасных ситуаций; построения полей опасных факторов пожара для различных сценариев его развития; оценки последствий воздействия опасных факторов пожара на людей для различных сценариев его развития; наличия систем обеспечения пожарной безопасности зданий сооружений и строений. Количественной мерой возможности реализации пожарной опасности объекта является риск гибели людей в...
38824. ПІДВИЩЕННЯ ЕФЕКТИВНОСТІ ДІЯЛЬНОСТІ ДП «ЗАРІЧНЕНСЬКИЙ ЛІСГОСП» 741.09 KB
  Теоретичні аспекти підвищення ефективності господарської діяльністі підприємства. Суть поняття ефективності та аналізу господарської діяльності підприємства. Фактори підвищення ефективності діяльності підприємства. Диверсифікація як один із заходів вдосконалення господарської діяльності підприємства.
38825. Транснаціональні корпорації в конкурентному середовищі національної економіки ( на прикладі України) 1.49 MB
  Діяльність ТНК в конкурентному середовищі приймаючої країни . ДІЯЛЬНІСТЬ ТНК В КОНКУРЕНТНОМУ СЕРЕДОВИЩІ УКРАЇНИ 2. Передумови входження ТНК на український ринок харчової промисловості. Стратегії діяльності ТНК на вітчизняному ринку харчової промисловості53 РОЗДІЛ 3.
38827. Особенности нервной системы подростков, занимающихся спортивными единоборствами (на примере самбо и кикбоксинга) 273 KB
  2 Особенности нервной системы детей школьного возраста 1.3 Изменения свойств нервной системы у детей и подростков под влиянием различных факторов 1.4 Влияние свойств нервной системы на двигательные способности человека 1.
38829. ПРАВИЛА ОФОРМЛЕНИЯ КУРСОВЫХ И ВЫПУСКНЫХ КВАЛИФИКАЦИОННЫХ РАБОТ 271.5 KB
  Выпускная квалификационная работа (ВКР) и курсовая работа являются самостоятельной творческой работой студента, и выполняются на основе знаний, умений и навыков, полученных при освоении целого ряда фундаментальных, профессиональных и специальных дисциплин.