(FX, FY, FZ,... ) GRADIENT (F,... ) : Distance Between Grid Points in X, Y, Z, Direction
(FX, FY, FZ,... ) GRADIENT (F,... ) : Distance Between Grid Points in X, Y, Z, Direction
2 1 1 4 2 4
. * y
3 5 3 2 9 10
2 1 1 4 5 10
* (1,5) (2,5) (3,5) (4,5) (5,5)
3 5 3 2 12 2
(1,4) (2,4) (3,4) (4,4) (5,4)
X(4,5)=1
Y(4,5)=2
(1,3) (2,3) (3,3) (4,3) (5,3)
Z(4,5)=1*exp(-1^2-2^2)=exp(-5)=0.0067 x
[px,py]=gradient(z,1,1)
y
px =
-0.0061 0.0003 0.0067 0.0003 -0.0061 5
-0.1219 0.0067 0.1353 0.0067 -0.1219
4.5
-0.3312 0.0183 0.3679 0.0183 -0.3312
4
-0.1219 0.0067 0.1353 0.0067 -0.1219
-0.0061 0.0003 0.0067 0.0003 -0.0061 3.5
py = 3
0 0 0 0 0 1.5
z = x .* exp(-x.^2 - y.^2);
[x,y] = meshgrid(-2:.2:2, -2:.2:2);
z = x .* exp(-x.^2 - y.^2);
[px,py] = gradient(z,.2,.2);
contour(z),hold on, quiver(px,py), hold off
1.5
1
1 1.5 2 2.5 3 3.5 4 4.5 5
DIV = DIVERGENCE(X,Y,Z,U,V,W) computes the divergence of a 3-D vector field
U,V,W. The arrays X,Y,Z define the coordinates for U,V,W and must be monotonic
and 3-D plaid (as if produced by MESHGRID).
load wind
div = divergence(x,y,z,u,v,w);
slice(x,y,z,div,[90 134],[59],[0]); shading interp
daspect([1 1 1])
camlight
load wind
div = divergence(x,y,z,u,v,w);
slice(x,y,z,div,[90 134],[59],[0]); shading interp
daspect([1 1 1])
camlight
Slice at (90,59,0)
Wind is an array of (41,35,15).
Origin: (70.2,17.5,0)
20
End: (134.3, 60, 16)
15
10
5
z
0
y -5
x 60
140
40
120
20 100
80
0 60
load wind
div = divergence(x,y,z,u,v,w);
slice(x,y,z,div,[90 134],[59],[0]); shading interp
daspect([1 1 1])
camlight
20 20
15
15
10
10
5
5
0
0
-5
-5 60
60 140
40
140 120
40 100
120 20
80
20 100
0 60
80
0 60
load wind
div = divergence(x,y,z,u,v,w);
slice(x,y,z,div,[90 134],[59],[0]); shading interp
daspect([1 1 1])
camlight
20 20
15
10
10
0
5
-10
0
-20
-5
60 60 140
140 120
40
120 40
20 100 100
80 20
0 60 80
0 60
load wind
div = divergence(x,y,z,u,v,w);
slice(x,y,z,div,[90 134],[59],[0]); shading interp
daspect([1 1 1])
camlight
4
20
2
10
0 0
-10
-2
-20
60 140
-4
120
40
100
20 -6
80
0 60
[CURLX, CURLY, CURLZ, CAV] = CURL(X,Y,Z,U,V,W) computes the
curl and angular velocity perpendicular to the flow (in radians per
time unit) of a 3D vector field U,V,W. The arrays X,Y,Z define the
coordinates for U,V,W and must be monotonic and 3D plaid (as if
produced by MESHGRID).
Ω
v R
1
v
2
load wind
cav = curl(x,y,z,u,v,w);
slice(x,y,z,cav,[90 134],[59],[0]); 15
10
shading interp 5
camlight 30
80
90
20
L = DEL2(U), when U is a matrix, is a discrete approximation of 0.25*del^2
u = (d^2u/dx^2 + d^2/dy^2)/4. The matrix L is the same size as U, with
each element equal to the difference between an element of U and the
average of its four neighbors.