# How to plot slope fields in Matlab?

I am new to Matlab (literally just downloaded it) and I would like to know how to create a slope field and integral curves.

My equation is dy/dx = x^2/(1-y^2).

My attempt at code is:

Ffun = @(X,Y)X.^2./(1-Y.^2); % function f(x,y) [X,Y]=meshgrid(-5:.5:5,-5:.5:5); % choose the plot sizes DY=Ffun(X,Y); DX=ones(size(DY)); % generate the plot values quiver(X,Y,DX,DY); hold on; contour(X,Y,DY,10);

I keep getting: "Warning: Matrix is singular to working precision. In @(X,Y)X^2/(1-Y^2) I also get blank graphs.

Also, it would be nice if I could get the positive, negative, and zero slopes in different colors.

Help would be appreciated, thank you!

## Answers

You are producing inf values when evaluating this function, as it has poles around Y=+-1. The inf makes the plot to scale to absurdity.... To still plot this you can transform all inf values to NaN (not a number does not show in a plot) as follows:

DY(isinf(DY))=NaN; quiver(X,Y,DX,DY);