DirectionFieldPlot[]

• To: mathgroup at christensen.cybernetics.net
• Subject: [mg1242] DirectionFieldPlot[]
• From: Xah Y Lee <xyl10060 at fhda.edu>
• Date: Fri, 26 May 1995 05:50:05 -0400

```Hello, here is a little crude program that plot direction field.

---------------------------
FieldPlot::usage = "FieldPlot[ f[x,y], {x,xMin,xMax,(dx)},
{y,yMin,yMax,(dy)},
(LineLength->1)] Plots the direction field of a scaler function f[x,y].";

Clear[unitV, FieldPlot]
unitV[{x_,y_}] := {x,y}/Sqrt[x^2+y^2]
Options[FieldPlot] = {LineLength->Automatic};
FieldPlot[ fun_, {xmin_,xmax_,dx_:Automatic}, {ymin_,ymax_,dy_:Automatic},
opts___Rule]:=
Module[{ll,i,j,dx2,dy2, gridList, slopeList, gp},
ll = LineLength  /. {opts} /. Options[FieldPlot];
If[dx===Automatic, dx2 = (xmax-xmin)/9, dx2 = dx];
If[dy===Automatic, dy2 = (ymax-ymin)/9, dy2 = dy];
If[ll===Automatic, ll = (dx2+dy2)/2 .9];
gridList =
N@Flatten[ Table[{i,j},
{i,xmin,xmax,dx2},{j,ymin,ymax,dy2}], 1];
slopeList = N@fun[Sequence@@#]& /@ gridList;
slopeList = slopeList /. m_/;NumberQ[m]->{1,m};
slopeList = gridList + ll * (unitV/@ slopeList);

gp = {  MapThread[Line[{#1,#2}]& , {gridList, slopeList}],
Point /@ gridList};
Show[
Graphics[{Hue[0.],PointSize[.01], gp }, Axes->True,
AspectRatio->Automatic]
]

]/; NumberQ[N@xmin] && NumberQ[N@xmax] && NumberQ[N@ymin] &&
NumberQ[N@ymax]

FieldPlot[
expr_,{x_,xmin_,xmax_, dx_},{y_,ymin_,ymax_, dy_}, opts___Rule ]:=
FieldPlot[Function[{x,y},expr],{xmin,xmax,dx},{ymin,ymax,dy},opts];

FieldPlot[
expr_,{x_,xmin_,xmax_},{y_,ymin_,ymax_}, opts___Rule ]:=
FieldPlot[Function[{x,y},expr],{xmin,xmax},{ymin,ymax},opts];

----------------------------------

Example,

FieldPlot[ x^2-y, {x,-4,4,.5},{y,-4,4,.5}]

one can also use the package PlotField.m. For example,

Needs["Graphics`PlotField`"]

PlotVectorField[  unitV[{1,x^2-y}] , {x,-4,4},{y,-4,4},
Axes->True, ColorFunction->Hue
]

Xah       74631.731 at compuserve.com
Quote of the day:
Your nonsense is as good as mine.   --Metamathematician of metaland.

```

• Prev by Date: Question about FindRoot function?
• Next by Date: Re: HELP: DXF files and Mma