# Differential Equations in Mathematica

1. Sep 24, 2005

### amcavoy

I know how to solve them in Mathematica, but is there a way I can plot slope fields / integral curves?

2. Sep 24, 2005

### lurflurf

yes there is

3. Sep 24, 2005

### amcavoy

Well, how would I do it?

4. Sep 25, 2005

### lurflurf

There is a standard package
GraphicsPlotField
all you need for particular curves is to define a function using DSolve or NDSolve
f[x_,x0_,y0_]:=NDSolve[{y'[x]+y[x]==0,y[x0]==y0},y[x],{x,y0,10}][1,1,2]
for the slope field use the DE to get the slope

5. Sep 25, 2005

### saltydog

Hey Apmcavoy, can you follow this (note the double equal signs):

Code (Text):
<<GraphicsPlotField
<<GraphicsArrow

sol1=NDSolve[{y'[x]==y[x]-x,y[0]==0.5},y,{x,0,3}];
fsol[x_]:=Evaluate[y[x]/.Flatten[sol1]];
xpt=2.6
xed=2.7
ypt=fsol[2.6]
yed=fsol[2.7]
a1=Graphics[Arrow[{xpt,ypt},{xed,yed}]];

pv=PlotVectorField[{1,y-x},{x,-3,3},{y,-3,3},PlotRange->{{-4,4},{-4,4}},
PlotPoints->25,Axes->True]
pt1=Plot[fsol[x],{x,0,2.7},PlotStyle->{{Thickness[0.01]}}]
Show[{pv,pt1,a1}]
A plot of the results is attached. If so, can you post the same for your differential equation?

Edit: Alright, you don't need some of that stuf: arrow tip at the end of the curve, the axes->True, thickness, plotstyle, plotpoints. Just take them out to cut it down.

#### Attached Files:

• ###### slope field.JPG
File size:
27.3 KB
Views:
87
Last edited: Sep 25, 2005
6. Sep 25, 2005

### amcavoy

I'm not on my home computer now, but I will post it tomorrow most likely. I would have thought Wolfram would have a quicker way to do this, but I guess this is it. Thanks a lot saltydog for the information! I will try that out as soon as possible.

7. Sep 26, 2005

### saltydog

Code (Text):
<<GraphicsPlotField

sol1=NDSolve[{y'[x]==y[x]-x,y[0]==0.5},y,{x,0,3}];
pt1=Plot[Evaluate[y[x]/.sol1]

pv=PlotVectorField[{1,y-x},{x,-3,3},{y,-3,3}]

Show[{pt1,pv}]

8. Sep 27, 2005

### amcavoy

The longer way worked great. However, I couldn't get the cut-down version to work properly. Any ideas why? Thanks saltydog.

9. Sep 27, 2005

### saltydog

Alright I'm sorry. That's what I get for posting it without trying it first. Some typos: (no x range in Plot). Also the <<Graphics line should be in it's own cell as it needs to be executed only once to load the package (PlotField is a library of functions).

Code (Text):
<<GraphicsPlotField

sol1=NDSolve[{y'[x]==y[x]-x,y[0]==0.5},y,{x,0,3}];
pt1=Plot[Evaluate[y[x]/.sol1,{x,0,3}]

pv=PlotVectorField[{1,y-x},{x,-3,3},{y,-3,3}]

Show[{pt1,pv}]