Моделирование в MATLAB/Simulink и SCILAB/Scicos - page 87

85
dblquad
(@
fun
,
inmin
,
inmax
,
outmin
,
outmax
,
tol
,
trace
,
order
) – передает
параметры
tol
и
trace
для функции
quad
или
quadl
в зависимости от
значения строки
order
. Допустимые значения для параметра
order
@
quad
, @
quadl
или имя любого определенного пользователем
квадратурного метода с таким же вызовом и такими же
возвращаемыми параметрами, как у функций
quad
и
quadl
. По
умолчанию (без параметра
order
) вызывается @
quad
поскольку
подынтегральные функции могут быть негладкими.
Пример
6.1.
Пусть
m
-файл
integl.
m
описывает
функцию
( )
( )
2
2
ysin x x cos y
+
, тогда вычислить двойной интеграл от той функции
можно следующим образом:
result = dblquad(@integ1,pi,2*pi,0,2*pi)
result =
78.9574
6. 3. Вычисление криволинейных, двойных и тройных интегралов
С помощью функций
quad
и
quad
8 можно вычислить криволинейные
интегралы.
Рассмотрим пример на криволинейные интегралы первого рода.
Пример 6.2.
Вычислить массу
М
винтовой линии
С
:
( )
x sin t
=
;
( )
2
y cos t
=
;
t
z
3
=
;
2 0
≤≤
t
с постоянной линейной плотностью равной 5.
Задача решается с помощью
криволинейного интеграла первого рода
:
=
C
ds
M
5
,
который сводится к вычислению следующего обыкновенного определенного
интеграла:
( ) ( ) ( )
′ + ′ + ′
=
2
0
2
2
2
5
dt
z
y
x
M
.
Для вычисления подынтегральной функции следует записать функцию:
function z=MyFunc321(t)
z=sqrt(cos(t).^2+4*sin(t).^2+9)
которая записывается в файл
MyFunc
321.m , после чего следует вызвать
функцию
quad
:
M=5*quad('MyFunc321',0,2);
M=
34.2903
Двойные интегралы в системе MATLAB вычисляются с помощью
специальной функции
dblguad
.
1...,77,78,79,80,81,82,83,84,85,86 88,89,90,91,92,93,94,95,96,97,...286
Powered by FlippingBook