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

86
Пример 6.3.
Вычислить интеграл:
( )
( )
(
)
1 2
0 1
xsin y ysin x dxdy
+
∫ ∫
.
Запишем подынтегральную функцию в следующем виде:
function z =For2Var(x,y)
z=x.*sin(y)+y.*sin(x);
Она помещается в файл For2Var.m и вызывается функция
dblguad
:
J=
dblguad('For2Var',0,1.1.2);
J=
1.1678
В систему MATLAB введена новая функция для вычисления тройных
интегралов. Она имеет четыре формы записи:
tripleguad(fun,xmin,xmax,ymin,ymax,zmin,zmax)
tripleguad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)
tripleguad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol,method)
tripleguad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol,method,p1,p2
,…)
Например,
Q=tripleguad('x+y*z',0,pi,0,1,-1,1,0.001)
Q=
9.8696
6. 4. Приближенное дифференцирование,
основанное на интерполяционной формуле Ньютона
В MATLAB численное дифференцирование реализовано командой
dy=diff(y[,n]),
где
y
– значения функции
y
(
x
) в виде вектора вещественных чисел,
n
– порядок
дифференцирования. Результат работы функции – вектор вещественных чисел
dy
,
представляющий собой разности порядка
n
интерполяционного полином
Ньютона
y
y y
k
∆ ∆∆
,
,
2
.
Пример 6.4.
Найти
y'
(50) функции
( )
y lg x
=
, заданной в виде таблицы.
Для решения задачи следует записать последовательность операторов
h=5;
x=50:5:65
x =
50 55 60 65
y=log10(x)
y =
1.6990 1.7404 1.7782 1.8129
dy=diff(y)
dy =
1...,78,79,80,81,82,83,84,85,86,87 89,90,91,92,93,94,95,96,97,98,...286
Powered by FlippingBook