Кривая и угловая скорость векторного поля
[ вычисляет числовые кривые и скорость вращения векторного поля 3-D с векторными компонентами curlx,curly,curlz,cav] = curl(X,Y,Z,Fx,Fy,Fz)Fx, Fy, и Fz. Область выхода curlx, curly, и curlz представляют векторные компоненты curl, и 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). Используйте этот синтаксис, когда вы хотите сохранить память и не обеспокоены абсолютными расстояниями между точками.
[ вычисляет числовые кривые и скорость вращения векторного поля 2-D с векторными компонентами curlz,cav] = curl(X,Y,Fx,Fy)Fx и Fy. Область выхода curlz представляет z -компонент curl, и cav представляет скорость вращения завитка.
Матрицы X и Y, которые определяют координаты для Fx и Fy, должны быть монотонными, но не должны быть равномерно разнесены. X и Y должны быть 2-D матрицы того же размера, которые могут быть созданы meshgrid.
curl вычисляет частные производные в его определении с помощью конечных различий. Для внутренних точек данных частные производные вычисляются с помощью центрального различия. Для точек данных вдоль ребер частные производные вычисляются с помощью одностороннего (прямого) различия.
Например, рассмотрим 2-D векторное поле F, которое представлено матрицами Fx и Fy в местах нахождения X и Y с size m-by- n. Местоположения - это сетки 2-D созданные [X,Y] = meshgrid(x,y), где x является вектором длины n и y является вектором длины m. curl тогда вычисляет частные производные <reservedrangesplaceholder3> / <reservedrangesplaceholder2> и <reservedrangesplaceholder1> / <reservedrangesplaceholder0> как
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.