Файл: Лабораторная работа 1. 3 Основы теории погрешностей 3 Лабораторная работа 2. 11 Основы теории погрешностей 11.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.12.2023

Просмотров: 251

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Лабораторная работа №2.

«Основы теории погрешностей»

Лабораторная работа №3-4.

«Решение нелинейных уравнений»

Лабораторная работа №5.

«Решение систем линейных алгебраических уравнений»

Лабораторная работа №6.

«Метод прогонки для трехдиагональных систем»

Лабораторная работа №7.

« Использование итерационных численных методов для решения СЛАУ»

Лабораторная работа №8.

« Использование итерационных численных методов для решения СЛАУ»

Лабораторная работа №9.

«Численное решение алгебраических проблем собственных значений»

Лабораторная работа №10.

«Интерполирование. Интерполяционные формулы»

Интерполяционная схема Эйткена

Лабораторная работа №11.

« Интерполирование. Интерполяционные формулы»

Лабораторная работа №12.

«Аппроксимация, построение аппроксимирующих кривых»

Лабораторная работа 13.

«Численное дифференцирование функции. Методы дифференцирования»

Лабораторная работа №14.

« Численное интегрирование функции»

Список использованной литературы




  1. Аналитическое интегрирование средствами MatLab.

В лабораторной работе, основной задачей которой является исследование методов численного интегрирования, в некоторых случаях для отыскания погрешности результатов требуется точные значения интегралов. Т.е. эти величины необходимо определить аналитически.

Для вычисления определенных и неопределенных интегралов в MATLAB спользуется функция int.


Вызов

Описание

int(S)

Вычисляется неопределенный интеграл от функции S по ее символьной переменной, определенной в syms.

int(S,v)

Вычисляется неопределенный интеграл от функции S по ее символьной переменной v, определенной в syms.

int(S,a,b)

Вычисляется определенный интеграл от a до b функции S по ее символьной переменной, определенной в syms. A и b могут быть переменными символьного или вещественного типа.

int(S,v,a,b)

Вычисляется определенный интеграл от a до b функции S по ее символьной переменной v, определенной в syms. A и b могут быть переменными символьного или вещественного типа.


Пример использования функции int. В данном примере подынтегральная функция задается явным образом.

Первый способ:

>> a=1;

>> b=1.44;

>> format long e

>> I=int('1+log(x)') %Неопределенный интеграл

I =

x*log(x)

>> I=int('1+log(x)',a,b) %Определенныйинтеграл

I =

72/25*log(2)+72/25*log(3)-72/25*log(5)

>> I=double(I) % из символьного результата в вещественный

I =

5.250860835665894e-001 % искомый результат

Второй способ:

>> a=1;

>> b=1.44;

>> syms x;

>> F=2.5*x^5-6.1*x^4+3.4*x^2-9.1*x+18;

>> In=int(F) % неопределенный интеграл

In =

5/12*x^6-61/50*x^5+17/15*x^3-91/20*x^2+18*x

>> Io=int(F,a,b) % определенный интеграл

Io =

1098807919/488281250

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

I =

2.250358618112000e+000
2. Теоретическая оценка погрешности численного интегрирования


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

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

Теоретическая погрешность для метода трапеций составляет

В случае элементарного отрезка интегрирования, если заданы пределы интегрирования и подынтегральная функция, задачу можно решить например следующим образом:

>> h=b-a;

>> disp('Погрешность')

Погрешность

>> R=(M2*(b-a)*h^2)/12

R = 0.1164
Т.о. теоретическая оценка абсолютной погрешности погрешности составляет 0.1.


3. Численное интегрирование средствами MATLAB

В MATLAB реализованы множество современных методов численного интегрирования.

А. Метод трапеций. Метод трапеции реализован в MATLAB несколькими функциями:

  • cumtrapz(у)

  • cumtrapz(x,y)

  • trapz(y)

  • trapz(x,y)

Наиболее интересна последняя из них. Данная функция вычисляет интеграл от функции у(х) по х методом трапеций. Аргумент и функция задаются в виде векторов или х — в виде вектора, а у — в виде матрицы. Если у(х) — матрица, то функция возвращает вектор значений интеграла для каждого столбца матрицы.

Пример. Пусть подынтегральная функция имеет вид

у(х) = х*еx + ln(x) + 1

Необходимо вычислить определенный интеграл в диапазоне от 1 до 10 с шагом 0.5.
Решение:

x=1:0.5:10;
y=x.*exp(x)+log(x)+1;
trapz(x,y)

Решение:

ans = 2.032841320958599e+005
B. Метод Симпсона. Метод Симпсона реализован в MATLAB также несколькими функциями.

quad('fun', a, b)
quad('fun', a, b, tol)

Обозначения:

  • 'fun'— подынтегральная функция, взятая в одинарные кавычки;

  • а, b — пределы интегрирования;

  • tol — относительная погрешность, задаваемая пользователем; по умолчанию tol=10-3.

Пример. Вычислить интеграл от функции x+ex на отрезке [1, 2] с точностью 10-5.

quad('x+exp(x)', 1, 2, 1e-5)

Результат:

ans = 6.170774280645000e+000


4. Правило Рунге оценки погрешности интегрирования

В формулах для оценки погрешности квадратурных формул R используются значения производных подинтегральной функции, что требует дополнительного анализа и вычислений. В связи с этим получило распространение практическое правило Рунге оценки погрешности.



Пусть

  • I – точное значение интеграла,

  • I(n) – значение интеграла вычисленное при n узлах интегрирования h = (b-a)/n,

  • I(2n) – значение интеграла вычисленное при 2*n узлах интегрирования, h = (b-a)/2n.

Необходимо определить, с какой точностью вычислен интеграл I(2n), т.е. найти абсолютную погрешность

Для непосредственно определения данной погрешности необходимо найти максимум модуля соответствующей производжной от интегрируемой функции на отрезке [a, b]. Часто это достаточно трудоемкий или вообще невозможный процесс. Напрмер если интегрируемая функция задана таблично. В таких случаях оценку погрешности величины I(2n) можно провести следующим образом:

Здесь m = 3 для методов средних прямоугольников и трапеций, m = 15 для метода Симпсона.

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

 

Содержание отчета:

1. Титульный лист.

2. Цель лабораторной работы.

3. Исходные данные, указываемые в задании и необходимые для достижения поставленной цели.

4. Расчетная часть: описание выполнения задания в среде MatLab.

5. Выводы и анализ полученных результатов.
Контрольные вопросы:

  1. Какой метод численного интегрирования Вы выбрали? Почему?

  2. Запишите простейшие квадратурные формулы. Приведите примеры их использования.

  3. Правило Рунге оценки погрешности интегрирования?

  4. Метод трапеции реализован в MatLab функциями …

  5. Метод Симпсона реализован в MatLab функциями …

  6. Для вычисления определенных и неопределенных интегралов в MatLab используются функции


Лабораторная работа №15

«Численные методы решения дифференциальных уравнений»



Цель работы. Освоить: методы решения дифференциальных уравнений с начальными условиями и метод прогонки решения краевой задачи для дифференциального уравнения второго порядка.
Задание1. Решить дифференциальное уравнение используя:

  1. Метод Эйлера

  2. Модифицированный метод Эйлера

  3. Метод Рунге-Кутта

  4. Среду Матлаб.

Варианты:

1. y' = x + y2; y(0) = 0,5.

2. y' = 2x + y2; y(0) = 0,3.

3. y' = 0,2x + y2; y(0) = 0,1.

4. y' = x2 + 2y; y(0) = 0,1.

5. y' = x2 + y2; y(0) = 0,7.

6. y' = 0,3x + y2; y(0) = 0,4.

7. y' = x + 0,3y2; y(0) = 0,3.

8. y' = 0,1x2 + 2хy; y(0) = 0,8.

9. y' = 3x2 + 0,1xy; y(0) = 0,2.

10. y' = x2 + 0,1y2; y(0) = 0,7.

11. y' = 0,2x2 + y2; y(0) = 0,8.

12. y' = 2x + 0,1y2; y(0) = 0,2.

13. y' = x2 + xy; y(0) = 0,2.

14. y' = x2 + y; y(0) = 0,4.

15. y' = xy + y2; y(0) = 0,6.

Задание 2 . Используя метод конечных разностей решить краевую задачу для обыкновенного дифференциального уравнения

Варианты:

1. ; ; .

2. ; ;

3. ; ;

4. ; ; .

5. ; ;

6. ; ; .

7. ; ; .

8. ; ;

9. ; ; .

10. ; ; .

11. ; ;

12. ; ;

13. ; ;

14. ; ; .

15. ;
Пример решения в MatLab:
Для решения систем ОДУ в MATLAB реализованы различные методы. Их реализации названы решателями ОДУ.

Обобщенное название sol ver (решатель) означает один из возможных численных методов решения ОДУ: ode45, ode23, ode113, ode15s, ode23s, ode23t , ode23tb, bvp4c или pdepe.

Решатели реализуют следующие методы решения систем дифференциальных уравнений, причем для решения жестких систем уравнений рекомендуется использовать только специальные решатели ode 15s , ode23s, ode23t. ode23tb:

ode45 — одношаговые явные методы Рунге-Кутта 4-го и 5-го порядка. Это классический метод, рекомендуемый для начальной пробы решения. Во многих случаях он дает хорошие результаты;

ode23 — одношаговые явные методы Рунге-Кутта 2-го и 4-го порядка. При умеренной жесткости системы ОДУ и низких требованиях к точности этот мето;. может дать выигрыш в скорости решения;

ode113 — многошаговый метод Адамса-Башворта-Мултона переменного порядка Это адаптивный метод, который может обеспечить высокую точность решения

ode23tb — неявный метод Рунге-Кутта в начале решения и метод, использующий формулы обратного дифференцирования 2-го порядка в последующем

Несмотря на сравнительно низкую точность, этот метод может оказаться более эффективным, чем ode15s;

ode15s — многошаговый метод переменного порядка (от 1 до 5, по умолчанию 5), использующий формулы численного дифференцирования. Это адаптивный метод, его стоит применять, если решатель ode45 не обеспечивает решения;

ode23s — одношаговый метод, использующий модифицированную формулу Розенброка 2-го порядка. Может обеспечить высокую скорость вычислений при низкой точности решения жесткой системы дифференциальных уравнений;

ode23t — метод трапеций с интерполяцией. Этот метод дает хорошие результаты при решении задач, описывающих колебательные системы с почти гармоническим выходным сигнал;

Пример: Дано дифференциальное уравнение y/=y-xc с начальным условием y(0)=1,5. Вычислить с точностью до =0,01 решить это уравнение при х=1,5. Вычисления провести по методы Рунге-Кутта с двумя запасными знаками.

Решение:

В М-файле с именем pr7.m пишем:

function f=pr7(x,y)

f=y-x;

end

Далее в командном окне вызываем функцию ode45

[X,Y] = ode45(@pr7,[0 1.5],1.5)



X = 0.0375

0.0750

0.1125

0.1500

0.1875

0.2250

0.2625

0.3000

0.3375

0.3750

0.4125

0.4500

0.4875

0.5250

0.5625

0.6000

0.6375

0.6750

0.7125

0.7500

0.7875

0.8250

0.8625

0.9000

0.9375

0.9750

1.0125

1.0500

1.0875

1.1250

1.1625

1.2000

1.2375

1.2750

1.3125

1.3500

1.3875

1.4250

1.4625

1.5000


Y =1.5000

1.5566

1.6139

1.6720

1.7309

1.7906

1.8512

1.9126

1.9749

2.0382

2.1025

2.1678

2.2342

2.3016

2.3702

2.4400

2.5111

2.5834

2.6570

2.7320

2.8085

2.8864

2.9659

3.0470

3.1298

3.2143

3.3006

3.3887

3.4788

3.5709

3.6651

3.7615

3.8601

3.9610

4.0644

4.1702

4.2787

4.3899

4.5039

4.6209

4.7408


plot(X,Y,'-k')

grid; Результатом будет график (см. Рисунок 8)
Р исунок 8. График функции
Содержание отчета:

1. Титульный лист.

2. Цель лабораторной работы.

3. Исходные данные, указываемые в задании и необходимые для достижения поставленной цели.

4. Расчетная часть: описание выполнения задания.

5. Выводы и анализ полученных результатов.
Контрольные вопросы:

  1. В чем смысл краевой задачи при решении дифференциальных уравнений?

  2. В чем смысл задачи Коши с начальными условиями при решении дифференциальных уравнений?

  3. В чем суть метода Эйлера?

  4. В чем суть метода Рунге-Кутта?



Список использованной литературы





  1. MATLAB 7. Самоучитель: Е. А. Курбатова. С.-П., Вильямс, 2006 г. 256 с.

  2. Бахвалов Н.С. Численные методы. М.: Наука, 2006. 631 с.

  3. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. 3-е изд., перераб. и доп. М.: БИНОМ. Лаборатория знаний, 2009, 632 с.

  4. Волков Е. А. Численные методы. М.: Наука, 1982.

  5. Данилина Н. И., Дубровская Н. С. Численные методы для техникумов - Высшая школа, 1976, 368 с.

  6. Демидович Б.П., Марон И.А. Основы вычислительной математики. – М.: Наука, 1966, 66с.

  7. Демидович Б.П., Марон И.А., Шувалова Э.З. Численные методы анализа. –М.: Наука, 1967 , 368 с.

  8. Джон Г. Мэтьюз, Куртис Д. Финк – Численные методы. Использование MATLAB. С.-П. Вильямс, 2001, 720 с.

  9. Самарский А. А. Введение в численные методы. Учебное пособие для вузов. 3-е изд., стер. СПб.: Издательство «Лань», 2005, 288 с

  10. Самарский А.А., Гулин А.В. Численные методы. М.:Наука. 1989, 430 с.