The implicitdiff command can be used to find derivatives of
implicitly defined functions. Suppose we wanted to use implicit
differentiation to find
for the relation
> f:=x^2*y^2+y^3=0;Note that the expression syntax is used as the equal sign is entered as part of the command. You cannot use function notation! The syntax of the implicitdiff command is shown by the following example.
> implicitdiff(f,y,x);
The result of the command is the derivative,
. The first argument is the relation
that you want to differentiate implicitly. We were careful to use an
equation for this argument, but if you just give an expression for
this argument, Maple assumes you want to set this expression equal to
zero before differentiating. The second argument to the
implicitdiff command is where you tell Maple what the
dependent variable is. The remaining argument is to
specifying the derivative you want.
To compute numerical values of derivatives obtained by implicit
differentiation, you have to use the subs command. For example, to
find the value of
at the point
you could use the following command.
> subs([x=1,y=-1],implicitdiff(f,y,x));
> with(plots):The implicitplot, solve, and fsolve commands have syntax similar to what you are familiar with. Just remember that you are dealing with two variables
> f := x^2*y^2+y^3 = 0;g := x^2*sin(y) = 1; > implicitplot([f,g],x=-10..10,y=-10..0);You can add options to the plot command to make the picture more clear. Execute the following commands to see the improvements.
> implicitplot([f,g],x=-10..10,y=-10..0,numpoints=10000); > implicitplot([f,g],x=-10..10,y=-10..0,numpoints=10000,color=[``Aqua'', ''Magenta'']); > implicitplot([f,g],x=-10..10,y=-10..0,numpoints=10000,color=[``Aqua'', ''Magenta''],scaling=constrained);To find where the graphs intersect you can use the solve or fsolve command. Since you need to solve two equations with two unknowns you need to solve simultaneously. Simply use curly brackets in the commands to do this.
> a := fsolve({f, g}, {x = -5 .. 0, y = -5 .. 0}); > b := fsolve({f, g}, {x = -5 .. 0, y = -5 .. 0}); > c := fsolve({f, g}, {x = 0 .. 5, y = -5 .. 0}); > d := fsolve({f, g}, {x = 0 .. 5, y = -10 .. 5});You could then use these points to find the slopes of either function.Then you could use the points and slope values to find the tangent lines. Pay particular attention to how the output-variable name a is used in the commands!!!!
> afslope := subs(a, implicitdiff(f, y, x)); > agslope := evalf(subs(a, implicitdiff(g, y, x))); > afline := afslope*(x-a[1])+a[2]; > agline := agslope*(x-b[1])+b[2]; > implicitplot([g, f, afline, agline], x = -10 .. 10, y = -10 .. 5, numpoints = 10000, color = ["Aqua", "Magenta", "DarkOliveGreen", "Blue"], scaling = constrained);