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

Автор: Пользователь скрыл имя, 20 Октября 2011 в 15:21, лабораторная работа

Описание работы

Для выполнения расчётного задания нужно выполнить последовательность операторов MATLAB, которую удобно оформить в виде вычислительного сценария (m-файла). Пояснения всех действий удобно включить в состав сценария в виде комментариев.

Работа содержит 1 файл

Лабораторная работа_№2.docx

— 66.13 Кб (Скачать)

Министерство  образования и науки Российской Федерации

Федеральное государственное образовательное  бюджетное 

учреждение  высшего профессионального образования

Владимирский  государственный университет имени

 А.  Г. и Н. Г. Столетовых

Кафедра Электротехники и Электроэнергетики 
 
 
 
 
 

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

По дисциплине «Вычислительная математика»

На тему: «Исследование методов численного интегрирования таблично заданной функции»

Вариант №9 
 
 

                                                 Выполнил:

                                                 Студент гр. ЭЛС-109

                                                 Ёров Икбол Исмоилович

                                                 Проверил:

                                                 доцент, к.т.н.

                                                 Шмелёв Вячеслав Евгеньевич 
 
 

Владимир 2011

Дана  аналитически заданная функция одной  переменной y = arccosec(x)

Вариант Функция Функция в MATLAB a b
9 y = arccosec(x) y = acsc(x) 1.5 10

   По  условию задачи требуется:

  1. В системе MATLAB задать эту функцию таблично на отрезке [1,5; 10] на равномерной сетке, состоящей из 21 узлов в виде двух одномерных массивов: массива значений аргумента и массива значений функции.
  2. Функцией ezplot построить график этой функции в фигуре № 1.
  3. Аналитически рассчитать первообразную функции в узлах сетки, 
    равную нулю при x = a.
  4. Нанести рассчитанные точки на график в фигуре № 2.
  5. Рассчитать первообразную в узлах методом трапеций.
  6. Добавить полученные точки на график другим цветом.
  7. Определить оценку относительной погрешности метода трапеций как отношение нормы разности массивов численных и аналитических значений к норме массива аналитических значений первообразной.
  8. Рассчитать первообразную в узлах сетки методом кусочно-квадратичной интерполяции с непрерывной первой производной. Нанести другим цветом полученные точки на график.
  9. Определить оценку относительной погрешности метода кусочно-квадратичной интерполяции с непрерывной первой производной как в п. 7.
  10. Рассчитать первообразную в узлах сетки и в средних точках между ними методом кусочно-кубической интерполяции с непрерывной первой производной (функция pchip в системе MATLAB). Нанести другим цветом полученные точки на график.
  11. Определить оценку относительной погрешности метода кусочно-кубической интерполяции с непрерывной первой производной как в п. 7.
  12. Рассчитать первообразную в узлах сетки и в средних точках между ними методом кусочно-кубической интерполяции с непрерывной второй производной (функция spline в системе MATLAB). Нанести другим цветом полученные точки на график.
  13. Определить оценку относительной погрешности метода кусочно-кубической интерполяции с непрерывной второй производной как в п. 7.
  14. Сравнить точность результатов, полученных разными методами.

     Для выполнения расчётного задания нужно выполнить последовательность операторов MATLAB, которую удобно оформить в виде вычислительного сценария (m-файла). Пояснения всех действий удобно включить в состав сценария в виде комментариев.

% Res_numeric_integr - исследование методов численного интегрирования

% 1. Формируем  равномерную сетку значений аргумента

x=linspace(1.5,10,21);

y=acsc(x); % массив значений функции синус на заданной сетке

figure(1) % переключаем графику на фигуру 1 или создаём её

ezplot('acsc(x)',[1.5,10])% 2. строим график функции в заданном диапазоне

grid on % наносим сетку на график

axis auto

% 3. Аналитически  рассчитываем первообразную функции на узлах сетки

yia=acsc(x).*x+log(x+x.*(1-1./x.^2).^(1/2))-acsc(x(1))*x(1)-log(x(1)+x(1)*(1-1/x(1)^2)^(1/2)); % массив значений первообразной на узлах сетки

% 4. Наносим  аналитически полученные точки  на график в фигуре 2

figure(2) % создаём фигуру 2

plot(x,yia,'k.','linewidth',2) % чёрные точки - значения в узлах сетки

hold on % включаем режим добавления графиков в фигуру

% 5. Рассчитываем  первообразную в узлах сетки методом трапеций

yit=cumsum([0 0.5*(y(1:end-1)+y(2:end)).*diff(x)]);

% 6. Добавляем  точки на график зелёненьким  цветом

plot(x,yit,'.','linewidth',2,'color',[0 0.5 0])

% 7. Определяем  оценку относительной погрешности  метода трапеций

deyit=norm(yit-yia)/norm(yia)

% 8. Применяем  метод кусочно-квадратичной интерполяции  с непрерывной первой

% производной

c=interp_pv2(x,y); % массив коэффициентов интерполяционного выражения

yi2=interp_pv2_int(c,x,x)-interp_pv2_int(c,x,x(1));

% yi2 - массив  численно рассчитанной первообразной

plot(x,yi2,'r.','linewidth',2) % наносим красные точки на график

% 9. Определяем  оценку относительной погрешности  метода

% кусочно-квадратичной  интерполяции с непрерывной первой  производной

deyi2=norm(yi2-yia)/norm(yia)

% 10. Применяем  метод кусочно-кубической интерполяции  с непрерывной первой

% производной

pp3=pchip(x,y); % структура с параметрами интерполяционного выражения

pp3i=ppint(pp3); % структура с параметрами производной интерполяционного выражения

yi3=ppval(pp3i,x); % массив численно рассчитанной первообразной

plot(x,yi3,'m.','linewidth',2) % наносим малиновые точки на график

% 11. Определяем  оценку относительной погрешности  метода

% кусочно-кубической  интерполяции с непрерывной первой  производной

deyi3=norm(yi3-yia)/norm(yia)

% 12. Применяем  метод кусочно-кубической интерполяции  с непрерывной второй

% производной

pps=spline(x,y); % структура с параметрами интерполяционного выражения

ppsi=ppint(pps);

% ppsi - структура с параметрами первообразной интерполяционного выражения

yis=ppval(ppsi,x); % массив численно рассчитанной первообразной

plot(x,yis,'.','linewidth',2,'color',[0 0.5 0.5]) % наносим бирюзовые точки на график

grid on % наносим сетку на график

% 13. Определяем  оценку относительной погрешности  метода

% кусочно-кубической  интерполяции с непрерывной первой  производной

deyis=norm(yis-yia)/norm(yia) 

>>

deyit =

    0.0057 

deyi2 =

  3.5561e-004 

deyi3 =

  6.9733e-004 

deyis =

  3.0146e-004

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