
- •Лабораторная работа 3.2. Вычисление обратной матрицы и определителя методом Гаусса
- •Лабораторная работа 3.3. Решение систем линейных алгебраических уравнений итерационными методами
- •Часть 1. Решение слау методом простой итерации.
- •Часть 2. Решение слау методом Зейделя.
- •Часть 1. Решение слау методом простой итерации.
- •Часть 2. Решение слау методом Зейделя.
- •Лабораторная работа 3.4. Вычисление собственных значений и собственных векторов симметричной матрицы
- •Лабораторная работа 3.5. Численное интегрирование
- •Лабораторная работа 3.6. Вычисление корня нелинейного уравнения
- •Лабораторная работа 3.7. Построение прямой по методу наименьших квадратов
Лабораторная работа 3.5. Численное интегрирование
Задание.
Задан интеграл
;
– полином третьей степени.
1. Требуется вычислить заданный интеграл
вручную по формулам методов прямоугольников,
трапеций, Симпсона, приняв
.
2. Требуется вычислить заданный интеграл на ЭВМ по стандартной подпрограмме QATR, а также одним (или всеми) из численных методов (прямоугольников, трапеций, Симпсона) по указанию преподавателя.
Варианты задания.
,
где
;
– номер группы; – номер студента по журналу.
Пример выполнения лабораторной работы.
Вычислить
,
где
.
Ручной счет.
;
.
Метод прямоугольников.
Имеем:
,
,
.
Дальнейший расчет сведен в табличную форму (см. таблицу Л3.5.1).
Таблица Л3.5.1. Вычисление интеграла методом прямоугольников.
|
|
|
1 |
0.375 |
0.713 |
2 |
1.125 |
–0.283 |
3 |
1.875 |
–3.951 |
4 |
2.625 |
–12.822 |
На основании данных, приведенных в таблице Л3.4.1, вычисляем:
,
откуда
.
Метод трапеций.
Имеем:
,
,
.
Дальнейший расчет сведен в табличную форму (см. таблицу Л3.5.2).
Таблица Л3.5.2. Вычисление интеграла методом трапеций.
|
|
|
0 |
0.0 |
1.0 |
1 |
0.75 |
0.391 |
2 |
1.5 |
–1.625 |
3 |
2.25 |
–7.578 |
4 |
3.0 |
–20.0 |
На основании данных, приведенных в таблице Л3.4.1, вычисляем:
,
откуда
.
Метод Симпсона.
Имеем: , , .
Дальнейший расчет сведен в табличную форму (см. таблицу Л3.5.3).
Таблица Л3.5.3. Вычисление интеграла методом Симпсона.
|
|
|
0 |
0.0 |
1.0 |
1 |
0.75 |
0.391 |
2 |
1.5 |
–1.625 |
3 |
2.25 |
–7.578 |
4 |
3.0 |
–20.0 |
На основании данных, приведенных в таблице Л3.4.1, вычисляем:
,
откуда
.
Выполнение работы на ЭВМ.
Пример программы на Фортране:
program lab_3_5 ! Требуется подключить файл real(4), external :: p,pr,tr,simps ! qatr.for содержащий real(4), dimension(20) :: r ! подпрограмму QATR из real(4) :: a,b,eps,sq ! математической библиотеки integer(4) :: n,nmax,ier ! SSP print *,’ Vvedite a,b,eps,nmax’ read *, a,b,eps,nmax print 1, aintegr(a,b,eps,nmax,n,pr,p),n print 2, aintegr(a,b,eps,nmax,n,tr,p),n print 3, aintegr(a,b,eps,nmax,n,simps,p),n call qatr(a,b,eps,20,p,sq,ier,r) print 4, sq 1 format(1x,’Metod pryamougolnikov: integral=’,f10.3,3x,’n=’,i6) 2 format(1x,’Metod trapetsiy: integral=’,f10.3,3x,’n=’,i6) 3 format(1x,’Metod Simpsona: integral=’,f10.3,3x,’n=’,i6) 4 format(1x,’S/p QATR: integral=’,f10.3) end
! Подпрограмма вычисления интеграла одним из трех методов function aintegr(a,b,eps,nmax,n,sint,f) external f real(4) :: a,b,s1,s2,f,eps,aintegr integer(4) :: n,nmax n=4 s1=sint(a,b,f,n) 1 n=2*n s2=sint(a,b,f,n) if(abs(s2-s1)<eps.or.n>nmax) goto2 s1=s2 goto 1 2 aintegr=s2 end
! Подпрограмма вычисления интеграла по формуле прямоугольников function pr(a,b,f,n) real(4) :: a,b,h,x,s,pr,f integer(4) :: n h=(b-a)/n; x=a+h/2; s=0. do i=1,n s=s+f(x); x=x+h end do pr=h*s end
! Подпрограмма вычисления интеграла по формуле трапеций function tr(a,b,f,n) real(4) :: a,b,h,x,s,tr,f integer(4) :: n h=(b-a)/n; x=a; s=(f(a)+f(b))/2 do i=2,n x=x+h; s=s+f(x) end do tr=h*s end
! Подпрограмма вычисления интеграла по формуле Симпсона function simps(a,b,f,n) real(4) :: a,b,h,x,s,simps,f integer(4) :: n,z h=(b-a)/n; x=a+h; s=f(a)+f(b); z=1 do i=2,n s=s+(3+z)*f(x); z=-z; x=x+h end do simps=h/3*s end
! Подпрограмма вычисления подынтегральной функции function p(x) real(4) :: x,p p=1-x+x**2-x**3 end |
Результаты расчета:
Metod pryamougolnikov: integral= -12.750 n= 256
Metod trapetsiy: integral= -12.750 n= 256
Metod Simpsona: integral= -12.750 n= 8
S/p QATR: integral= -12.750
По тексту программы необходимо сделать ряд пояснений и замечаний.
1. В приведенной программе реализованы все три рассматриваемые в настоящем курсе формулы численного интегрирования:
п/п PR – вычисление интеграла по формуле прямоугольников;
п/п TR – вычисление интеграла по формуле трапеций;
п/п SIMPS – вычисление интеграла по формуле Симпсона.
2. При выполнении задания необходимо составить программу лишь для одного (или всех) из этих методов, указанного преподавателем.
3. Переменная
(в программе – nmax) определяет
количество отрезков, на которые делится
интервал интегрирования для вычисления
интеграла с заданной точностью. При
этом значение n последовательно
удваивается до тех пор, пока изменение
приближенного значения интеграла не
станет меньше заданного малого числа
(в
программе – eps), значение
которого вводится. При расчете было
принято: nmax=1000, eps=0.001.
4. К данной программе необходимо подключить стандартную подпрограмму QATR.