Завихрение и скорость вращения векторного поля
[
вычисляет числовое завихрение и скорость вращения 3-D векторного поля с векторными компонентами curlx
,curly
,curlz
,cav
] = curl(X
,Y
,Z
,Fx
,Fy
,Fz
)Fx
, Fy
, и Fz
. Выход curlx
, curly
, и curlz
представляйте векторные компоненты завихрения и cav
представляет скорость вращения завихрения.
Массивы X
Y
, и Z
, которые задают координаты для векторных компонентов Fx
, Fy
, и Fz
, должно быть монотонным, но не должны быть расположенными равными интервалами. X
Y
, и Z
должны быть трехмерные массивы, одного размера, который может быть произведен meshgrid
.
[
принимает сетку по умолчанию точек выборки. Узлы решетки по умолчанию curlx
,curly
,curlz
,cav
] = curl(Fx
,Fy
,Fz
)X
Y
, и Z
определяются выражением [X,Y,Z] = meshgrid(1:n,1:m,1:p)
, где [m,n,p] = size(Fx)
. Используйте этот синтаксис, когда это необходимо, чтобы сохранить память, и не касаются абсолютных расстояний между точками.
[
вычисляет числовое завихрение и скорость вращения 2D векторного поля с векторными компонентами curlz
,cav
] = curl(X
,Y
,Fx
,Fy
)Fx
и Fy
. Выход curlz
представляет z - компонент завихрения и cav
представляет скорость вращения завихрения.
Матрицы X
и Y
, которые задают координаты для Fx
и Fy
, должно быть монотонным, но не должны быть расположенными равными интервалами. X
и Y
должны быть 2D матрицы, одного размера, который может быть произведен meshgrid
.
curl
вычисляет частные производные в его определении при помощи конечных разностей. Для внутренних точек данных частные производные вычислены с помощью центральной разности. Для точек данных вдоль ребер частные производные вычисляются с помощью одностороннего (прямого) различия.
Например, рассмотрите 2D векторное поле F, который представлен матрицами Fx
и Fy
в местоположениях X
и Y
с размером m
- n
. Местоположения являются 2D сетками, созданными [X,Y] = meshgrid(x,y)
, где x
вектор из длины n
и y
вектор из длины m
завихрение
затем вычисляет частные производные ∂Fy / ∂x и ∂Fx / ∂y как
dFy_dx(:,i) = (Fy(:,i+1) - Fy(:,i-1))/(x(i+1) - x(i-1))
и
dFx_dy(j,:) = (Fx(j+1,:) - Fx(j-1,:))/(y(j+1) - y(j-1))
для внутренних точек данных.
dFy_dx(:,1) = (Fy(:,2) - Fy(:,1))/(x(2) - x(1))
и
dFy_dx(:,n) = (Fy(:,n) - Fy(:,n-1))/(x(n) - x(n-1))
для точек данных на левых краях и правых краях.
dFx_dy(1,:) = (Fx(2,:) - Fx(1,:))/(y(2) - y(1))
и
dFx_dy(m,:) = (Fx(m,:) - Fx(m-1,:))/(y(m) - y(m-1))
для точек данных в верхних краях и базовых краях.
Числовое завихрение векторного поля равно curlz = dFy_dx - dFx_dy
и скоростью вращения является cav = 0.5*curlz
.