Examples for vector fields and potentials
Contents
You need to download new m-files.
Download the files vectorfield.m, vectorfield3.m, ezisosurf.m, ezpcolor.m, posneg.m
(1a) Plot a 2D vector field
Plot the 2D vector field F = ( 2*x*y , x^2+2*y-4 ) for x,y in [-2,2].
syms x y real F = [ 2*x*y , x^2+2*y-4 ]; vectorfield(F,-2:.4:2,-2:.4:2)
(1b) Find a potential f(x,y) for the vector field F
For the vector field F from (1a) find a potential f(x,y). Check that grad f = F.
Plot the vector field together with the contour plot of the potential. How can you see geometrically that the potential fits to the given vector field?
Answer: We can see that F is the gradient of f: The vector field is orthogonal on the contour curves, and the vectors point towards higher values of f.
f = potential(F,[x y]) % find potential with respect to variables (x,y) simplify(jacobian(f,[x y]) - F) % gives zero % We use jacobian(f,[x y]) to compute gradient, since this gives row vector. % Using gradient(f,[x y]) gives a column vector. vectorfield(F,-2:.4:2,-2:.4:2); hold on ezcontourc(f,[-2 2 -2 2],30); colorbar; hold off title('Vector field F with contours of potential f')
f = y*x^2 + y*(y - 4) ans = [ 0, 0]
(2) Try to find a potential for vector field F = ( -2*x*y , x^2+2*y-4 ).
First find the curl of the vector field. How do the values of curl F correspond geometrically to the vector field?
Answer: We find that curl F = (0,0,4*x) is nonzero, hence the potential does not exist.
We see that the curl is positive for x>0 and negative for x<0. Imagine that the arrows describe a fluid flow. Then an object held at a position with positive x will be rotated counterclockwise. An object held at a position with negative x will be rotated clockwise.
syms x y z F = [ -2*x*y , x^2+2*y-4 ]; f = potential(F,[x y]) % Matlab returns "NaN" which means there is no answer G = curl([F,0],[x y z]) % check the curl: use [F,0] since we need vector of 3 components vectorfield(F,-2:.4:2,-2:.4:2); hold on ezpcolor(G(3),[-2.5 2.5 -2.5 2.5]); colorbar; hold off colormap(posneg) title('Vector field F; colors show curl F')
f = NaN G = 0 0 4*x
(3) Find potential for 3D vector field F
Consider the vector field F = ( y+2*z, x-z, 2*x-y ). Find curl F. Find a potential f if possible.
Plot the vector field together with the contour plot of the potential. How can you see geometrically that the potential fits to the given vector field?
Answer: We can see that F is the gradient of f: The vector field is orthogonal on the contour surfaces, and the vectors point towards higher values of f.
syms x y z real F = [ y+2*z, x-z, 2*x-y ]; G = curl(F,[x y z]) % curl F is zero f = potential(F,[x y z]) figure(1) % Plot vector field F vectorfield3(F,-1:.5:1,-1:.5:1,-1:.5:1); view(15,25) figure(2) % Plot vector field F together with contours of potential f vectorfield3(F,-1:.5:1,-1:.5:1,-1:.5:1); hold on ezisosurf(f,[-1 1 -1 1 -1 1],-2:1); % Plot contour surfaces for f=-2,-1,0,1 colorbar; alpha(0.9); hold off; view(15,25);
G = 0 0 0 f = x*(y + 2*z) - y*z