65819

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

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

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

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

Русский

2014-08-06

344 KB

12 чел.

Выполнил: Марудо А.В., 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


 

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

47512. Методичні вказівки до виконання дипломної роботи. Менеджмент організацій 480 KB
  МЕНЕДЖМЕНТ ОРГАНІЗАЦІЙ ОКП СПЕЦІАЛІСТ ПІДГОТОВКА НАПИСАННЯ ЗАХИСТ для всіх форм навчання 2009 Методичні вказівки до виконання дипломної роботи для студентів спеціальності
47514. Методичні вказівки. Біотехнологія 929.5 KB
  Технологічна схема ТС виробництва Приклад зображення хімічної схеми виробництва Дипломний проект як правило являє собою проект виробництва удосконалення виробництва цільового продукту або напівпродукту складений на базі діючого виробництва або за результатами науководослідних і дослідноконструкторських робіт. У процесі роботи над дипломним проектом за освітньокваліфікаційним рівнем бакалавр вирішуються такі завдання: розширення потужності діючого виробництва або організації випуску нового виду...
47516. ЭЛЕКТРОМЕХАНИКА. МЕТОДИЧЕСКИЕ УКАЗАНИЯ 223 KB
  Конкретное содержание экономических расчетов в зависимости от целевого назначения дипломного проекта и особенностей специальности определяется студентом-дипломником по согласованию с руководителем и консультантом экономической части дипломного проекта
47517. Методичні вказівки. Фінанси 230.5 KB
  Дипломна робота являє собою індивідуальне за характером наукове вивчення актуальних питань теорії та практики фінансово-економічних відносин з обов’язковим відпрацьовуванням практичних рекомендацій, спрямованих на підвищення ефективності фінансової діяльності підприємства чи його підрозділу
47519. Методические указания. Безопасность жизнедеятельности 208 KB
  Рост энерговооруженности производства внедрение новых форм организации и стимулирования труда требует подготовки квалифицированных специалистов обладающих глубокими знаниями в области безопасности труда. Только квалифицированные специалисты способны реализовать основные направления государственной политики в области охраны труда направленные на улучшение условий труда снижение травматизма и профессиональных заболеваний повышение производительности труда. Такие специалисты должны иметь потребность к разработке и безусловному выполнению...