Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ChM_ekzamen_Vse_otvety_Meyd_bay_Belsky (1).docx
Скачиваний:
13
Добавлен:
01.05.2025
Размер:
8 Мб
Скачать
☆
  1. Вычислить значение интеграла при заданных значениях a, b и с помощью метода Симпсона встроенными средствами matlab.

Для вычисления значений определенных интегралов в пакете MATLAB имеются следующие функции quad( ), quadl( ), trapz( ), cumtrapz( ), которые имеют следующий синтаксис.

>> q = quad(fun,a,b) % возвращает значение интеграла от функции

% fun на интервале [a,b], при вычислении

% используется адаптивный метод Симпсона.

Пример 6.3. Вычисление интеграла с использованием функций quad.

>> q=quad('sin',0,pi/2,10^-4)

q = 1.0000

>> q-1

ans = -3.7216e-008

>> q=quad('sin',0,pi/2,10^-6,'trace');

9 0.0000000000 4.26596866e-001 0.0896208493

11 0.4265968664 7.17602594e-001 0.4966040522

13 0.4265968664 3.58801297e-001 0.2032723690

15 0.7853981634 3.58801297e-001 0.2933317183

17 1.1441994604 4.26596866e-001 0.4137750613

>> q-1

ans = -2.1269e-009

>> [q,fnct]=quad('sin',0,pi/2,10^-6,'trace');

9 0.0000000000 4.26596866e-001 0.0896208493

11 0.4265968664 7.17602594e-001 0.4966040522

13 0.4265968664 3.58801297e-001 0.2032723690

15 0.7853981634 3.58801297e-001 0.2933317183

17 1.1441994604 4.26596866e-001 0.4137750613

>> 17

  1. Вычислить значение интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы левых прямоугольников в matlab.

1. Задаем функцию f(x) = Pn(x) в m-файле функции.

function res=f(x)% Интегрируемая функция

res= Сама функция;

2. Вычислить значение интеграла I аналитически, т.е. найти его точное значение.

% Вычисление точного значение интеграла. Второй способ.

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

syms x; % Задание символьной переменной

f=сама функция; % Задание подинтегральной функции

In=int(f) % - неопределённый интеграл,

Io=int(f,a,b) % - определённый интеграл.

format long e % Необходимо для перевода результата из

I=double(Io) % символьного формата в вещественный.

3. Вычислить значение интеграла I по формулам левых прямоугольников.

Здесь h = (b-a)/n

Файл сценария:

a=1; b=1.44;

format short e

h=(b-a)/n;

I=h*f(a)-левых прямоугольников

Пример 6.2. Вычисление интеграла методом прямоугольников в пакете MATLAB:

>> f=inline('sin(x)'); % задание подынтегральной функции

>> Xmin=0;

>> Xmax=pi/2;

>> N=2001;

>> i=1:N;

>> dx=(Xmax-Xmin)/(N-1); % шаг интегрирования

>> x=Xmin:dx:Xmax; % вычисление координат узлов сетки

>> y=feval(f,x); % вычисление значений функции в узлах сетки

% вычисление интеграла по формуле левых прямоугольников

>> m=1:N-1;

>> y1(m)=y(m);

>> Fl=sum(y1)*dx

Fl =0.9996

>> Fl-1

ans = -3.9295e-004

  1. Вычислить значение интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы средних прямоугольников в matlab.

1. Задаем функцию f(x) = Pn(x) в m-файле функции.

function res=f(x)% Интегрируемая функция

res= Сама функция;

2. Вычислить значение интеграла I аналитически, т.е. найти его точное значение.

% Вычисление точного значение интеграла. Второй способ.

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

syms x; % Задание символьной переменной

f=сама функция; % Задание подинтегральной функции

In=int(f) % - неопределённый интеграл,

Io=int(f,a,b) % - определённый интеграл.

format long e % Необходимо для перевода результата из

I=double(Io) % символьного формата в вещественный.

3. Вычислить значение интеграла I по формулам средних прямоугольников.

Здесь h = (b-a)/n

Файл сценария:

a=1; b=1.44;

format short e

h=(b-a)/n;

I=h*f((a+b)/2)-средних прямоугольников

Пример 6.2. Вычисление интеграла методом прямоугольников в пакете MATLAB:

>> f=inline('sin(x)'); % задание подынтегральной функции

>> Xmin=0;

>> Xmax=pi/2;

>> N=2001;

>> i=1:N;

>> dx=(Xmax-Xmin)/(N-1); % шаг интегрирования

>> x=Xmin:dx:Xmax; % вычисление координат узлов сетки

>> y=feval(f,x); % вычисление значений функции в узлах сетки

% Нахождение значения интеграла с помощью

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

I=inf;

for i=1:n-1

I=I+fz1(a+i*h+h/2);

end

format long e

I1=I*h

D1=abs(I-I1)

  1. Аналитически найти теоретическую погрешность при численном вычислении интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы левых прямоугольников.

Для нахождения зависимостей погрешности вычисления определенного интеграла на отрезке от числа отрезков разбиения интервала интегрирования разложим подынтегральную функцию в ряд Тейлора:

. (6.22)

Тогда интеграл от данной функции на отрезке будет равен

. (6.23)

Оценим погрешность метода левых прямоугольников. Погрешность интегрирования на отрезке равняется разности между точным значением интеграла и его оценкой :

. (6.24)

Из (6.24) видно, что основной член погрешности на каждом отрезке имеет порядок или, в символической записи, . Поскольку полное число отрезков равно

N, а , то полная погрешность метода левых прямоугольников по порядку величины равна . Аналогично можно показать, что погрешность метода правых прямоугольников также пропорциональна .

……………………………….

1. Задаем функцию f(x) = Pn(x) в m-файле функции.

function res=f(x)% Интегрируемая функция

res= Сама функция;

2. Вычислить значение интеграла I аналитически, т.е. найти его точное значение.

% Вычисление точного значение интеграла. Второй способ.

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

syms x; % Задание символьной переменной

f=сама функция; % Задание подинтегральной функции

In=int(f) % - неопределённый интеграл,

Io=int(f,a,b) % - определённый интеграл.

format long e % Необходимо для перевода результата из

I=double(Io) % символьного формата в вещественный.

3. Вычислить значение интеграла I по формуле левых прямоугольников.

Здесь h = (b-a)/n

Файл сценария:

a=1; b=1.44;

format short e

h=(b-a)/n;

I=h*f(a)-левых прямоугольников

4.Определение теоретической погрешности:

Теоретическая оценка погрешности.

Файл сценария:

syms x;

f=сама функция;

f1=diff(f,1);

f2=diff(f,2);

f4=diff(f,4);

a=1;

b=1.44;

x=a:0.001:b;

format short e

m1= первая производная от исходной функции;

m2= вторая производная от исходной функции;

m4= четвертая производная от исходной функции;

M1=max(abs(m1));

M2=max(abs(m2));

M4=max(abs(m4));

h=(b-a)/n;

R=(M1*(b-a)*h)/2 левых прямоугольников

  1. Аналитически найти теоретическую погрешность при численном вычислении интеграла при заданных значениях a, b, и количестве узлов интегрирования n с помощью квадратурной формулы средних прямоугольников.

Рассмотрим подробно один и возможных способов оценки погрешности формул численного интегрирования на примере метода средних прямоугольников. Для этого запишем выражение для интеграла на отрезке , полученное методом средних прямоугольников (4.24), откуда (4.25)

Для оценки погрешности интегрирования разложим подынтегральную функцию в ряд Тейлора около средней точки

(4.26)

В малой окрестности точки x в разложении (4.26) можно ограничится небольшим количеством членов ряда. Поэтому, подставляя в (4.25) вместо функции ее тейлоровское разложение (4.26) и интегрируя его почленно, можно вычислить интеграл с любой наперед заданной точностью

(4.27)

При интегрировании и подстановке пределов получаем, что все интегралы от членов ряда (4.26), содержащих нечетные степени , обращаются в нуль. Подставляя полученное соотношение в формулу (4.25), получим При малой величине шага интегрирования h основной вклад в погрешность будет вносить первое слагаемое, которое называется главным членом погрешности вычисления интеграла на отрезке (4.28)

Главный член полной погрешности для интеграла на всем интервале определиться путем суммирования погрешностей на каждом отрезке

(4.29)

Формула (4.29) представляет собой теоретическую оценку погрешности вычисления интеграла методом средних прямоугольников, эта оценка является априорной, так как не требует знания значения вычисляемого интеграла. Степень шага h, которой пропорциональна величина , называется порядком метода интегрирования. Метод средних прямоугольников имеет второй порядок точности.

1. Задаем функцию f(x) = Pn(x) в m-файле функции.

function res=f(x)% Интегрируемая функция

res= Сама функция;

2. Вычислить значение интеграла I аналитически, т.е. найти его точное значение.

% Вычисление точного значение интеграла. Второй способ.

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

syms x; % Задание символьной переменной

f=сама функция; % Задание подинтегральной функции

In=int(f) % - неопределённый интеграл,

Io=int(f,a,b) % - определённый интеграл.

format long e % Необходимо для перевода результата из

I=double(Io) % символьного формата в вещественный.

3. Вычислить значение интеграла I по формулам средних прямоугольников.

Здесь h = (b-a)/n

Файл сценария:

a=1; b=1.44;

format short e

h=(b-a)/n;

I=h*f((a+b)/2)-средних прямоугольников

4.Определение теоретической погрешности:

Теоретическая оценка погрешности.

Файл сценария:

syms x;

f=сама функция;

f1=diff(f,1);

f2=diff(f,2);

f4=diff(f,4);

a=1;

b=1.44;

x=a:0.001:b;

format short e

m1= первая производная от исходной функции;

m2= вторая производная от исходной функции;

m4= четвертая производная от исходной функции;

M1=max(abs(m1));

M2=max(abs(m2));

M4=max(abs(m4));

h=(b-a)/n;

R=(M2*(b-a)*h^2)/24- средних прямоугольников

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]