### Highlights from 3D/2D vector field plotter

4.31579
4.3 | 19 ratings Rate this file 10 Downloads (last 30 days) File Size: 1.75 KB File ID: #7338 Version: 1.0

# 3D/2D vector field plotter

### Rentian Xiong (view profile)

31 Mar 2005 (Updated )

This function can plot both 3D and 2D vector field based on the input symbolic expression ...

File Information
Description

vectline is "vector field line plotter". Depending on the dimension of coordinate axis, vectline can plot both 3D and 2D vector field line.

Example for 2D field
>> syms x y
>> F = [-y, x];
>> vectline(F,[x,y],[-1,1,-1,1])

Example for 3D field

>> syms x y z
>> F = [x*y^2, x*y, z];
>> vectline(F,[x,y,z],[-1,1,-2,3,1,3])

Required Products Symbolic Math Toolbox
MATLAB release MATLAB 6.5 (R13)
22 Apr 2014 George

### George (view profile)

22 Apr 2014 George

### George (view profile)

@ Paul T, how to add the density option

Hi, i found an easy way to modify vectline to add the "density option" as shown in the youtube vid of RobertThalbertPhD.
Open the vectline.m and save as e.g. "vectline_a.m",then add another input variable "a" to the 1. line of the m.file to obtain
"function vectline(f,crdaxis,crdrange,a)". Then replace the "5" with an "a" in the lines 27,28,29 and 55,56 to obtain
"dx=(xmax-xmin)/a;
dy=(ymax-ymin)/a;
dz=(zmax-zmin)/a;"
and
"dx=(xmax-xmin)/a;
dy=(ymax-ymin)/a;"
respectively.
Now the number of vectors in 2D will be a^2 and in 3D a^3.
Note that now you have to pass a number that will specify how many vectors are plottet in each direction, else you will receive an error.

Comment only
09 Nov 2011 Linford Briant

### Linford Briant (view profile)

Great so far, but I have one question: I am trying to do this for the vector field F=[0.5*x,0*y] and it's giving me an error message. Any ideas why?

18 Apr 2011 Hasitha Senanayake

### Hasitha Senanayake (view profile)

03 Apr 2011 David Reilly

### David Reilly (view profile)

Simple and Elegant.

29 Mar 2011 Max

### Max (view profile)

Exactly what I needed. Is there a way to make the values of the axes in increments of 1 instead of 2?

22 Nov 2010 Alexandr

### Alexandr (view profile)

Hello. Interesting code. I need this kind of graphs for my work but I cannot understand what it actually plots. Could you please tell me more about those arrows. What do they show and which values of a function are involved in the plotting? Thank you. Alex.

Comment only
07 Apr 2010 Jose Ortiz

### Jose Ortiz (view profile)

Very nice!!!!

07 Jan 2010 Aamir

### Aamir (view profile)

I need exactly such a plotting tool but for numeric arrays not symbolic maths. Any suggestions please?

01 Mar 2009 Arun Sahu

### Arun Sahu (view profile)

The Function is really useful, but would have been better if we could control the precision... to get a more accurate plot.

24 Sep 2008 Paul T

Very useful function. It would be nice if it is possible to specify the density (on the plot) of the vectors. Good job.

18 Jul 2008 Daniel Sutton

A very good piece of code, this should be a standard feature of MATLAB

28 Feb 2007 cricket4me Usulub

how the heck do i open this??

25 Jan 2007 Will Ludington

using MATLAB R2006b intel-based mac version, the original source code does not plot. adding a line to the code to produce a new figure before the quiver command fixes the problem.
......

u=junk(:,1:k/3,:);
v=junk(:,k/3+1:2*k/3,:);
w=junk(:,2*k/3+1:k,:);

quiver3(px,py,pz,u,v,w)

13 Dec 2006 Quentin Brandon

Works perfectly.
Compact and clean code easily tweakable.

10 Nov 2006 camilo calvo
06 Apr 2006 PAJ PANB
17 Oct 2005 Krastimir Popov
20 Sep 2005 Mike Weems

Awesome......just what i needed. Thanks

05 Apr 2005 Vince SaBella
05 Apr 2005 Peter Bodin

Really nice function. It would be even nicer if it returned the quivergroup handles, but I could easily fix that myself.