Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / Лабы 4 / l4_2000

.doc
Скачиваний:
29
Добавлен:
17.04.2013
Размер:
23.55 Кб
Скачать

Лабораторная работа №4. Численное интегрирование.

1. Изучить содержание файла quadsimp.m

2. При помощи процедуры quadsimp вычислить определенный интеграл для функции sin(x) на отрезке [0,pi] с разными (например: 0.5, 0.2, 0.1) значениями шага разбиения отрезка интегрирования. Сравнить полученную погрешность с теоретической оценкой. Выписать зн-я шага, полученной погрешности, теоретической оценки в тетрадь.

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

4. С помощью полученных процедур интегрирования вычислить определенный интеграл для функции sin(x) на отрезке [0,pi] с теми же значениями шага разбиения отрезка интегрирования, что и в пункте 2. Сравнить полученную погрешность с теоретической оценкой. Выписать зн-я шага, полученной погрешности, теоретической оценки в тетрадь.

5. Используя квадратурные формулы прямоугольников, трапеций и Симпсона, вычислить определенный интеграл от функции y=x^2 на отрезке [0,1], оценить погрешность, сравнить с точным значением интеграла. Выписать в тетрадь результаты. Уменьшить вдвое шаг разбиения отрезка интегрирования и повторить выполнение данного пункта задания.

6. Вызвать демонстрацию примера численного интегрирования с заданной точностью (файл quaddemo.m). Изучив текст файла quaddemo.m, убедиться в том, что вычисление интеграла производится процедурой из файла quad.m. При помощи процедуры quad вычислить определенный интеграл для функции sin(x) на отрезке [0,pi] с различной точностью.

7. Найти определенные интегралы по заданию преподавателя.

Приложение - текст файла quadsimp.m

function [y]=quadsimp(f,a,b,h)

% [y]=quadsimp(f,a,b,h)

% квадратурная формула Симпсона

% вычисление интеграла по отрезку [a,b] от функции f

% h - шаг изменения абсциссы

% f - строковая переменная (имя функции), например, 'sin'

n=round((b-a)/(h*2)); % половина от общего числа вычислений f

h=(b-a)/(2*n); % уточняем h

sum1=0;

sum2=0;

for i=1:(n-1),

sum1=sum1+feval(f,a+h*(2*i-1));

sum2=sum2+feval(f,a+h*2*i);

end;

sum1=sum1+feval(f,a+h*(2*n-1));

y=(feval(f,a)+feval(f,b)+4*sum1+2*sum2)*h/3;

Соседние файлы в папке Лабы 4