Самостоятельная работа по предмету: Микропроцессорные управления электро механических систем. Тема: Расчет переходных процессов методом численного интегрирования в matlab


Download 126.2 Kb.
bet6/6
Sana05.02.2023
Hajmi126.2 Kb.
#1167164
1   2   3   4   5   6
Bog'liq
Расчет переходных процессов методом численного интегрирования

Метод Симпсона



Преимущество этого метода в том, что точки, взятые на каждом шаге на кривой, интерполируются полиномом второй степени. Проще говоря, соединяются параболой. Это даёт методу четвёртый порядок точности.
На рисунке красная кривая (1) - функция, зелёная(2) - полином.
В Matlab интегрирование с помощью метода Симпсона производит функция quad. Сразу разберем пример.
Пример 5
Вычислить определённый интеграл с точностью 10-4 методом Симпсона.

%стандартным оператором

quad('x.*exp(-x)+log(x)+1',0.001,10,1e-4) %зададим погрешность 10*-4


ans =

24.0323
Точность вычислений задается 4 параметром функции quad. Также, следует отметить, что в задании нижним пределом является 0, а мы использовали число 0.001. Это связано с тем, что при подстановке 0 функция не определена, а точнее, натуральный логарифм не существует.
% не стандартным оператором

F = @(x) x*exp(-x)+log(x)+1; %функция


a=0.01; %пределы интегрирования


b=10;

n=100; %количество частей деления

h=(b-a)/n; %определяем шаг


integ = F(a);




for i=1:1:((n/2)-1) %сам алгоритм Симпсона

x=a+2*h*i;


integ=integ+2*F(x)+4*F(x+h);




end

integ=h*integ/3;


24.091
Ну и реализация этого метода вручную приведена здесь для общего развития. Этим я хочу подчеркнуть, что практически любой метод или алгоритм возможно написать самому, а не пользоваться стандартными методами Matlab.



Правило Рунге оценки погрешности интегрирования
В формулах для оценки погрешности квадратурных формул 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 для метода Симпсона.


Заключение
Matlab позволяет программировать сложные алгоритмы, а не только использовать встроенный функционал. Любой численный метод можно реализовать и вызывать как функцию.


Использованные литературы

1. Алексеев, Е.Р. MATLAB 7 [Текст] / Алексеев Е.Р., Чеснокова О.В. – М.: NTPress, 2006. – 464 с.


2. Мэтьюз, Д.Г. Численные методы. Использование MATLAB: перевод с английского под редакцией Ю.В. Козаченко[Текст] / Д.Г. Мэтьюз. – М.: Вильям, 2001. – 713 с.
3. Потемкин, В.Г. Система MATLAB: справочное пособие[Текст] / В.Г. Потемкин. – М.: ДИАЛОГ-МИФИ, 1997. – 350 с.
Download 126.2 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling