Лабораторные работы 1 Вариант (Отчет 3)

Посмотреть архив целиком

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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ имени Н.Э. Баумана











Отчет по лабораторной работе

по курсу «Численные методы»







«Численные методы вычисления определенного интеграла»







Выполнил:

Студент группы МТ6-31

Аниконов Дмитрий

Проверил:

Ефрюшкина В.А.

Москва 2014г.



Теоретическая часть





























Текст программы



echo off

format long

display('Истинное значение IR = e')

IR= exp(1) %Вывод истинного значения интеграла

a=0; b=1; %Пределы интегрирования

pr=0.0001; %Требуемая точность

y=@(x) exp(x)+1; %Подынтегральная функция

der2=@(t) exp(t); antider2=@(t) -exp(t);%Вторая производная

der4=@(t) exp(t); antider4=@(t) -exp(t); %Четвертая производная

[xmin,ymin]=fminbnd(der2,a,b); %Поиск экстремальных значений

[xmax,ymax]=fminbnd(antider2,a,b);

ar=[abs(ymin) abs(ymax)]; %Избавляемся от знака

M2=max(ar); %Выбираем максимальное по модулю значение

[xmin,ymin]=fminbnd(der4,a,b); %Поиск экстремальных значений

[xmax,ymax]=fminbnd(antider4,a,b);

ar=[abs(ymin) abs(ymax)]; %Избавляемся от знака

M4=max(ar); %Выбираем максимальное по модулю значение

display('Формула средних прямоугольников:')

h=(b-a)/(fix((b-a)/sqrt(pr))+1); %Начальный шаг разбиения

d=1; %Произвольное начальное значение невязки

while d>pr

x=(a+h/2):h:(b); %Задание массива узлов (согласно специфике формулы)

I0=h*sum(y(x)); %Приближенное вычисление интеграла

h=h/2; %Изменение шага разбиения

x=(a+h/2):h:(b); %Задание массива узлов с новым шагом

I=h*sum(y(x)); %Более точное вычисление интеграла

d=abs(I-I0)/3; %Невязка результатов вычислений (см. условие цикла)

end;

I %Вывод результата приближенных вычислений

R=IR-I %Погрешность вычислений

Rn=h^2*(b-a)*M2/24 %Максимальная погрешность при применении метода

display('Формула трапеций:')

h=(b-a)/(fix((b-a)/sqrt(pr))+1); %Начальный шаг разбиения

d=1; %Произвольное начальное значение невязки

while d>pr

x=a:h:b; %Задание массива узлов (согласно специфике формулы)

n=length(x);

I0=h*(sum(y(x))-(y(x(1))+y(x(n)))/2); %Приближенное вычисление интеграла

h=h/2; %Изменение шага разбиения

x=a:h:b; %Задание массива узлов с новым шагом

n=length(x);

I=h*(sum(y(x))-(y(x(1))+y(x(n)))/2); %Более точное вычисление интеграла

d=abs(I-I0)/3; %Невязка результатов вычислений (см. условие цикла)

end;

I %Вывод результата приближенных вычислений

R=IR-I %Погрешность вычислений

Rn=h^2*(b-a)*M2/12 %Максимальная погрешность при применении метода

display('Формула Симпсона:')

h=(b-a)/(2*(fix((b-a)/(2*pr^(1/4)))+1)); %Начальный шаг разбиения

d=1; %Произвольное начальное значение невязки

while d>pr

x=a:h:b; %Задание массива узлов (согласно специфике формулы)

n=(b-a)/(2*h); %Количество участков, на которое разбит отрезок

sum1=0;

sum2=0; %Очистка промежуточных сумм от старого содержания

for k=1:n %Вычисление промежуточных сумм

sum1=sum1+y(x(2*k));

end;

for k=1:(n-1)

sum2=sum2+y(x(2*k+1));

end;

I0=(h/3)*(y(x(1))+y(x(2*n+1))+4*sum1+2*sum2); %Приближенное вычисление интеграла

h=h/2; %Изменение шага разбиения

x=a:h:b; %Задание массива узлов с новым шагом

n=(b-a)/(2*h); %Новое количество участков

sum1=0; sum2=0; %Очистка промежуточных сумм от старого содержания

for k=1:n %Вычисление промежуточных сумм

sum1=sum1+y(x(2*k));

end;

for k=1:(n-1)

sum2=sum2+y(x(2*k+1));

end;

I=(h/3)*(y(x(1))+y(x(2*n+1))+4*sum1+2*sum2); %Более точное вычисление

d=abs(I-I0)/15;

end;

I %Вывод результата приближенных вычислений

R=IR-I %Погрешность вычислений

Rn=h^4*(b-a)*M4/180 %Максимальная погрешность при применении метода



Вычисления


>> Integration

Истинное значение IR = e

IR =

2.718281828459046

Формула средних прямоугольников:

I =

2.718280073851042

R =

1.754608003334823e-006

Rn =

2.775567486282758e-006

Формула трапеций:

I =

2.718285337676129

R =

-3.509217083585980e-006

Rn =

5.551134972565516e-006

Формула Симпсона:

I =

2.718281857225555

R =

-2.876650917471579e-008

Rn =

4.551434530537938e-008


Случайные файлы

Файл
93056.rtf
26227.rtf
87900.doc
161256.rtf
CBRR2895.DOC




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.