Слайд 2
Вычисление определенных интегралов
Численное интегрирование заключается в приближенном вычислении
определенного интеграла вида
b
∫ y(x)dx
a
trapz(Y) — использует интегрирование методом трапеций с единичным шагом между отсчетами
В форме trapz(x,Y) — возвращает интеграл функции, заданной значениями Y, вычисленными по значениям переменной x, (пределы интегрирования в этом случае задаются начальным и конечным элементами вектора x)
Слайд 3
Метод трапеций
Пример 1
»Y=[1,2,3,4]
» trapz(Y)
ans =
7.5000
Пример 2
π
Вычислить ∫sin(x)dx с шагом π/5
0
>> X = 0:pi/5:pi;
>> Y = sin(X);
>> Z = trapz(X,Y)
Z =
1.9338
Слайд 4
Численное интегрирование методом квадратур
Квадратура — численный метод нахождения
площади под графиком функции
quad(@fun,a,b,tol) выполняет интегрирование низкого
порядка с использованием квадратурной формулы Симпсона. Эффективна при низкой требуемой точности вычислений
fun должна быть описана в m-файле
a, b – пределы интегрирования
tol - относительная погрешность (необязательный параметр)
quadl(@fun,a,b) - использует квадратуру Гаусса-Лобатто очень высокого порядка, что даёт более высокую точность вычислений
Слайд 5
Двойные интегралы
Сводятся к вычислению повторных определенных интегралов
(внутренний интеграл является подынтегральной функцией для внешнего)
dblquad(@fun,x0,x1,y0,y1)
Пример 1
quad('exp(x)+x.^2+2*sin(x)-5',1,5,0.001)
ans =
167.5415
Пример 2
function z=for2Var(x,y)
z=x.*sin(y) +y.*sin(x);
Записав этот текст в файл for2Var.m , находим интеграл
int=dblquad(@for2Var,1,2,0,1)
int=1.1678
Слайд 6
Аналитический метод вычисления интегралов
Применимы следующие варианты:
int(y) , если
вычисляется неопределенный интеграл int(y,a,b) , если вычисляется определенный интеграл
в пределах [a,b]
где y – подынтегральная функция,
a,b – пределы интегрирования
Порядок записи программы:
1. Символьные переменные описываются как syms
2. Вычисляется подынтегральное выражение y=f(x)
3. Обращение к функции int
Слайд 7
>> syms x a b;
>> y=x/(a+b*x^2);
>> int(y)
% неопределённый интеграл
ans =
log(b*x^2 + a)/(2*b)
>> syms x
>> a=1; b=2; y=x/(a+b*x^2);
>> int(y,0,1) % определённый интеграл
ans =
log(3)/4
Пример
Слайд 8
По формуле Тейлора
f(x)=f(a)+(x-a)f'(a)/1!+(x-a)2f"(a)/2!+..+(x-a)nf(n)(a)/n!+Rn
f(a),f'(a),f"(a),…,f(n) (a) – значения функции
и её производных в точке а
Если a=0, получаем ряд
Маклорена
f(x)=f(0) +xf'(0)/1! +x2f"(0)/2! +…+xnf(n)(0)/n!+Rn
taylor(y) – выдаёт 5 членов разложения в ряд Маклорена функции, заданной в y
>> syms x;
>> y=sin(x);
>> MacSin=taylor(y)
MacSin =
x^5/120 - x^3/6 + x
Разложение в степенной ряд
Слайд 9
Разложение в степенной ряд
Более общий вид функции
taylor(y, 'ExpansionPoint',val1,
'Order',val2)
даёт разложение функции y в точке, заданной в val1,
с числом членов ряда, заданным в val2
>> syms x;
>> y=log(x);
>> TayLog1=taylor(y, 'ExpansionPoint', 1, 'Order', 6)
TayLog1 =
x - (x - 1)^2/2 + (x - 1)^3/3 - (x - 1)^4/4 + (x - 1)^5/5 – 1
В более ранних версиях была другая форма функции
taylor(y,x,x0,n) – выдаёт n членов разложения в ряд Тейлора функции, заданной в y, в точке x0
Слайд 10
Примеры к лабораторной работе №4
Слайд 11
Решение системы с помощью функции solve
>> syms x
y z;
>> Y=solve('3*x+y-z=3','-5*x+3*y+4*z=1', 'x+y+z=0.5')
Y =
x: [1x1
sym]
y: [1x1 sym]
z: [1x1 sym]
>> Y.x
ans =
-0.10714285714285714285714285714286
Можно воспользоваться функцией
vpa(Y.x, n) , где x – неизвестное, n – число значащих цифр в ответе
>> vpa(Y.x,5)
ans =
-.10714
Слайд 12
Решение систем нелинейных уравнений
fsolve (FUN, x0, options) ,
где FUN – система уравнений, сохраненная в m-файле
x0
– начальное приближение
Пример: x1x2 + x3 = 6.5; x1x24 +x3 = 167; x1x26 +x3=1470
function F=myfun(x)
F=[x(1)*x(2)+x(3)-6.5 x(1)*x(2)^4+x(3)-167 x(1)*x(2)^6+x(3)-1470];
>> X=fsolve(@myfun,[1 1 1])
X =
2.1512 2.9678 0.1157
Эту же систему можно решить с помощью функции solve