Исследование методов численного интегрирования таблично заданной функции
Лабораторная работа, 20 Октября 2011, автор: пользователь скрыл имя
Описание работы
Для выполнения расчётного задания нужно выполнить последовательность операторов MATLAB, которую удобно оформить в виде вычислительного сценария (m-файла). Пояснения всех действий удобно включить в состав сценария в виде комментариев.
Работа содержит 1 файл
Лабораторная работа_№2.docx
— 66.13 Кб (Скачать)Министерство образования и науки Российской Федерации
Федеральное
государственное
учреждение
высшего профессионального
Владимирский
государственный университет
А. Г. и Н. Г. Столетовых
Кафедра
Электротехники и Электроэнергетики
Лабораторная работа №2
По дисциплине «Вычислительная математика»
На тему:
«Исследование методов
Вариант
№9
Владимир 2011
Дана аналитически заданная функция одной переменной y = arccosec(x)
| Вариант | Функция | Функция в MATLAB | a | b |
| 9 | y = arccosec(x) | y = acsc(x) | 1.5 | 10 |
По условию задачи требуется:
- В системе MATLAB задать эту функцию таблично на отрезке [1,5; 10] на равномерной сетке, состоящей из 21 узлов в виде двух одномерных массивов: массива значений аргумента и массива значений функции.
- Функцией ezplot построить график этой функции в фигуре № 1.
- Аналитически
рассчитать первообразную функции в узлах
сетки,
равную нулю при x = a. - Нанести рассчитанные точки на график в фигуре № 2.
- Рассчитать первообразную в узлах методом трапеций.
- Добавить полученные точки на график другим цветом.
- Определить оценку относительной погрешности метода трапеций как отношение нормы разности массивов численных и аналитических значений к норме массива аналитических значений первообразной.
- Рассчитать первообразную в узлах сетки методом кусочно-квадратичной интерполяции с непрерывной первой производной. Нанести другим цветом полученные точки на график.
- Определить оценку относительной погрешности метода кусочно-квадратичной интерполяции с непрерывной первой производной как в п. 7.
- Рассчитать первообразную в узлах сетки и в средних точках между ними методом кусочно-кубической интерполяции с непрерывной первой производной (функция pchip в системе MATLAB). Нанести другим цветом полученные точки на график.
- Определить оценку относительной погрешности метода кусочно-кубической интерполяции с непрерывной первой производной как в п. 7.
- Рассчитать первообразную в узлах сетки и в средних точках между ними методом кусочно-кубической интерполяции с непрерывной второй производной (функция spline в системе MATLAB). Нанести другим цветом полученные точки на график.
- Определить оценку относительной погрешности метода кусочно-кубической интерполяции с непрерывной второй производной как в п. 7.
- Сравнить точность результатов, полученных разными методами.
Для выполнения расчётного задания нужно выполнить последовательность операторов 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./
% 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)).*
% 6. Добавляем точки на график зелёненьким цветом
plot(x,yit,'.','linewidth',2,'
% 7. Определяем
оценку относительной
deyit=norm(yit-yia)/norm(yia)
% 8. Применяем
метод кусочно-квадратичной
% производной
c=interp_pv2(x,y); % массив коэффициентов интерполяционного выражения
yi2=interp_pv2_int(c,x,x)-
% 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,'
grid on % наносим сетку на график
% 13. Определяем
оценку относительной
% кусочно-кубической
интерполяции с непрерывной
deyis=norm(yis-yia)/norm(yia)
>>
deyit =
0.0057
deyi2 =
3.5561e-004
deyi3 =
6.9733e-004
deyis =
3.0146e-004