Завихрение и скорость вращения векторного поля
[ вычисляет числовое завихрение и скорость вращения 3-D векторного поля с векторными компонентами curlx,curly,curlz,cav] = curl(X,Y,Z,Fx,Fy,Fz)Fx, Fy, и Fz. Выход curlx, curly, и curlz представляйте векторные компоненты завихрения и cav представляет скорость вращения завихрения.
Массивы XY, и Z, которые задают координаты для векторных компонентов Fx, Fy, и Fz, должно быть монотонным, но не должны быть расположенными равными интервалами. XY, и Z должны быть трехмерные массивы, одного размера, который может быть произведен meshgrid.
[ принимает сетку по умолчанию точек выборки. Узлы решетки по умолчанию curlx,curly,curlz,cav] = curl(Fx,Fy,Fz)XY, и 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.