Скручивание и угловая скорость векторного поля
[ вычисляет числовой завиток и угловую скорость 3D векторной области с векторными компонентами 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 должны быть 3-D массивы одинакового размера, которые могут быть произведены 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). Используйте этот синтаксис, когда требуется сохранить память и не беспокоитесь об абсолютных расстояниях между точками.
[ вычисляет числовой завиток и угловую скорость 2-й векторной области с векторными компонентами curlz,cav] = curl(X,Y,Fx,Fy)Fx и Fy. Продукция curlz представляет z-компонент скругления, и cav представляет угловую скорость завивки.
Матрицы X и Y, которые определяют координаты для Fx и Fy, должна быть монотонной, но не должна быть равномерно разнесена. X и Y должны быть 2-D матрицами одинакового размера, которые могут быть получены meshgrid.
curl вычисляет частные производные в своем определении с помощью конечных разностей. Для внутренних точек данных частные производные рассчитываются с использованием центральной разницы. Для точек данных вдоль кромок частные производные вычисляются с использованием односторонней (прямой) разности.
Например, рассмотрим 2-D векторное поле F, которое представлено матрицами Fx и Fy в местах X и Y с размером mоколо-n. Расположения представляют собой 2-D сетки, созданные [X,Y] = meshgrid(x,y), где x - вектор длины n и y - вектор длины m. curl затем вычисляет частные производные ∂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.