- •Кафедра телекоммуникационных систем
- •Рекомендуемая литература:
- •Введение
- •1. Табулирование функций
- •Пример 1
- •Пример 1
- •Пример 2
- •Текст программы
- •Результаты вычислений
- •2. Решение уравнений
- •Пример 3
- •линейных
- •Пример 4
- •вычисление определенных интегралов
- •Метод трапеций
- •Метод Симпсона
- •Пример 5
- •Вычисление двойных интегралов
- •Пример 6
- •Выводы
Пример 3
Решить уравнение
function у = myf(x)
у = sin(x) - х.^2.*cos(x);
x = fzero ('myf', -5)
Zero found in the interval: [-4.7172, -5.2].
x =-4.7566
х = fzero ('myf', -0.1) Zero found in the interval:
[0.028, -0.19051]. x =
-1.242386505963434e-022
sin(x) x2 cos(x) 0
линейных
алгебраических
уравнений
К решению систем линейных уравнений |
|||||||||||||
сводятся многочисленные практические задачи, |
|||||||||||||
например различные краевые задачи для |
|||||||||||||
обыкновенных и в частных производных |
|||||||||||||
дифференциальных уравнений. |
|
||||||||||||
а11 |
х1 |
а12 х2 |
... а1п хп |
в1 |
|
|
|||||||
а |
|
х |
а |
|
х |
|
... а |
|
х |
|
в |
|
A X B |
|
21 |
1 |
|
22 |
|
2 |
|
2п |
|
п |
|
2 |
|
|
|
|
|
|
|
|
|||||||
|
|
||||||||||||
а |
п1 |
х |
а |
п2 |
х |
2 |
... а |
пп |
х |
п |
в |
п |
|
|
1 |
|
|
|
|
|
|
||||||
Решения: X=В/A; X=В* А^ 1; X=В*inv(A); X=A\В.
Пример 4
Решить систему 4-х линейных уравнений:
|
1.1161x |
0.1397x |
2 |
0.1254x |
3 |
0.1490x |
4 |
1.5471; |
||||
|
|
1 |
|
|
|
|
|
|
|
|||
|
|
|
0.1768x2 |
1.1675x3 |
0.1871x4 |
1.6471; |
|
|||||
|
0.1582x1 |
; |
||||||||||
|
|
|
1.2168x2 |
0.2071x3 |
0.2271x4 |
1.7471; |
||||||
|
0.1968x1 |
|
||||||||||
|
|
|
0.2568x2 |
0.2471x3 |
1.2671x4 |
1.8471. |
||||||
|
0.2368x1 |
|||||||||||
Текст программы (в М-файле) |
|
|
|
|||||||||
а |
= |
[1.1161 |
0.1397 |
0.1254 |
|
0.1490 ; |
|
|
|
|||
|
|
0.1582 |
0.1768 |
1.1675 |
|
0.1871 ; |
|
|
|
|||
|
|
0.1968 |
1.2168 |
0.2071 |
|
0.2271 ; |
|
|
|
|||
|
|
0.2368 |
0.2568 |
0.2471 |
|
1.2671] ; |
|
|
|
|||
b |
= |
[1.5471 ; 1.6471 ; 1.7471 ; 1.8471] ; |
|
|
|
|||||||
|
|
x = а \ b; x= 1.0406 0.9351 0.9870 0.8813 |
|
|||||||||
вычисление определенных
интегралов
C геометрической точки зрения определенный |
|
интеграл |
b |
|
f x dx |
a
представляет собой площадь криволинейной трапеции. Идея методов численного интегрирования сводится к разбиению интервала [a; b] на множество меньших интервалов и нахождению искомой площади как совокупности элементарных площадей, полученных на каждом частичном промежутке разбиения. В зависимости от использованной аппроксимации получаются различные формулы численного интегрирования, имеющие различную точность. Рассмотрим методы трапеций и Симпсона (парабол).
Метод трапеций
Здесь используется линейная аппроксимация, |
|||||||
т.е. график функции y = f(x) представляется в |
|||||||
виде ломаной, соединяющей точки yi. Формула |
|||||||
трапеций при постоянном шаге h b a |
|||||||
где п – число участков, имеет вид n |
|||||||
b |
|
y |
0 |
y |
n |
n 1 |
|
|
|
||||||
f x dx h |
|
|
yi |
||||
|
|
2 |
|
||||
a |
|
|
|
|
i 1 |
|
|
В MATLAB данную формулу реализует программа trapz (x,y).
Метод Симпсона
Если подынтегральную функцию заменить параболой, то формула Симпсона с постоянным шагом интегрирования предстанет в виде
b |
f x dx h |
y0 4 y1 y3 ... yn 1 2 y2 y4 ... yn 2 yn |
|
|
3 |
|
|
a |
|
|
|
В MATLAB формула Симпсона реализуется программой quad (‘function’,x0,x1)
Пример 5
Вычислить по методам трапеций и Симпсона |
|
|||
значения интеграла |
1 |
dx |
|
|
текст программы метода трапеций |
|
|
|
|
x = 0 : 0.0001 : 1.0 ; |
x |
2 |
||
y = 1./ (1+x.^2) ; |
0 1 |
|
||
z = trapz(x, y) |
|
|
|
|
Результат вычислений |
|
|
|
|
z = |
0.7854 |
|
|
|
текст программы метода Симпсона |
|
|
|
|
quad ( |
(1./(1+x.^2)) , 0, 1) |
|
|
|
Результат вычислений |
|
|
|
|
ans = |
0.7854 |
|
|
|
Точное значение интеграла равно 0.785398163.
Вычисление двойных
интегралов
В MATLAB определена функция dbiquad для приближенного вычисления двойных интегралов. Как и в случае вычисления определенных интегралов, следует написать файл- функцию для вычисления подынтегрального выражения. Найдите значение
Пример 6
function f = fint2(x, у)
f = exp(x).*sin(y).^2 + exp(- x).*cos(у).^2;
dblquad(@fint2, -pi, pi, 0, 1)
ans =23.0977
Выводы
В среде MATLAB заложены достаточно мощные и удобные методы вычислений и обработки данных: решения систем уравнений, дифференцирования и интегрирования.
Основные (базовые) функции: fzero; \; /; trapz; quad; dblquad.
