# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

# `plot`::`Implicit2d`

Contour lines of a function from R^2 to R

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.

## Syntax

```plot::Implicit2d(`f`, `x = xmin .. xmax`, `y = ymin .. ymax`, <`a = amin .. amax`>, `options`)
```

## Description

```plot::Implicit2d(f(x, y), x = xmin..xmax , y = ymin..ymax )``` plots the curves where the smooth function `f` is zero.

```plot::Implicit2d(f, x = xmin..xmax , y = ymin..ymax )``` plots the zeroes of f in the given range, i.e., the set .

`plot::Implicit2d` assumes that f is regular almost everywhere on this curve, which means that f must be differentiable and at least one of its partial derivatives must be nonzero.

To plot other contours than zeroes, use the option `Contours`.

## Attributes

AttributePurposeDefault Value
`AffectViewingBox`influence of objects on the `ViewingBox` of a scene`TRUE`
`AntiAliased`antialiased lines and points?`TRUE`
`Color`the main color`RGB::Blue`
`Contours`the contours of an implicit function[`0`]
`Frames`the number of frames in an animation`50`
`Function`function expression or procedure
`Legend`makes a legend entry
`LegendText`short explanatory text for legend
`LegendEntry`add this object to the legend?`TRUE`
`LineColor`color of lines`RGB::Blue`
`LineWidth`width of lines`0.35`
`LineColor2`color of lines`RGB::DeepPink`
`LineStyle`solid, dashed or dotted lines?`Solid`
`LinesVisible`visibility of lines`TRUE`
`LineColorType`line coloring types`Flat`
`LineColorFunction`functional line coloring
`LineColorDirection`the direction of color transitions on lines[`0`, `1`]
`LineColorDirectionX`x-component of the direction of color transitions on lines`0`
`LineColorDirectionY`y-component of the direction of color transitions on lines`1`
`Mesh`number of sample points[`11`, `11`]
`Name`the name of a plot object (for browser and legend)
`ParameterEnd`end value of the animation parameter
`ParameterName`name of the animation parameter
`ParameterBegin`initial value of the animation parameter
`ParameterRange`range of the animation parameter
`TimeEnd`end time of the animation`10.0`
`TimeBegin`start time of the animation`0.0`
`TimeRange`the real time span of an animation`0.0` .. `10.0`
`Title`object title
`TitleFont`font of object titles[`" sans-serif "`, `11`]
`TitlePosition`position of object titles
`TitleAlignment`horizontal alignment of titles w.r.t. their coordinates`Center`
`TitlePositionX`position of object titles, x component
`TitlePositionY`position of object titles, y component
`Visible`visibility`TRUE`
`VisibleAfter`object visible after this time value
`VisibleBefore`object visible until this time value
`VisibleFromTo`object visible during this time range
`VisibleAfterEnd`object visible after its animation time ended?`TRUE`
`VisibleBeforeBegin`object visible before its animation time starts?`TRUE`
`XMax`final value of parameter “x”
`XMesh`number of sample points for parameter “x”`11`
`XMin`initial value of parameter “x”
`XName`name of parameter “x”
`XRange`range of parameter “x”
`YMax`final value of parameter “y”
`YMesh`number of sample points for parameter “y”`11`
`YMin`initial value of parameter “y”
`YName`name of parameter “y”
`YRange`range of parameter “y”

## Examples

### Example 1

It is well-known that a circle can be described as :

`plot(plot::Implicit2d(x^2+y^2-1, x = -1..1, y = -1..1))`

Note that `plot::Implicit2d` uses the given range completely, even if there is nothing to plot at a border:

`plot(plot::Implicit2d(x^2+y^2-1, x = -2..2, y = -2..2))`

### Example 2

`plot::Implicit2d` handles functions which are not regular at isolated points on the contours:

`plot(plot::Implicit2d((x-y)*(x+y), x = -1..1, y = -1..1))`

However, it fails if the function is singular on more than isolated points:

`plot(plot::Implicit2d(0, x = -1..1, y = -1..1))`

### Example 3

We plot some of the elliptic curves y2 = x3 + 4 x + c:

```plot(plot::Implicit2d(y^2 - x^3 + 4*x, x = -3..3, y = -4..4, Contours = [c \$ c = -3..6]))```

### Example 4

Like most graphical objects, `plot::Implicit2d` can be animated easily:

```plot(plot::Implicit2d(x^2 - y^2 = (x - a*y)*(x^2 + y^2), x = -2..2, y = -2..2, a = -2..2))```

## Parameters

 `f` A real-valued expression or an equation in `x`, `y`, and possibly the animation parameter. `f` is equivalent to the attribute `Function`. `x`, `y` `x`, `y` are equivalent to the attributes `XName`, `YName`. `xmin .. xmax`, `ymin .. ymax` Real-valued expressions, possibly in the animation parameter. The image is plotted with `x` in the range xmin ≤ x ≤ xmax and ymin ≤ y ≤ ymax. `xmin` .. `xmax`, `ymin` .. `ymax` are equivalent to the attributes `XRange`, `XMin`, `XMax`, `YRange`, `YMin`, `YMax`. `a` Animation parameter, specified as `a```` = amin..amax```, where `amin` is the initial parameter value, and `amax` is the final parameter value.

## Algorithms

`plot::Implicit2d` uses a curve tracking method: It first generates starting points on the curve and then uses a predictor-corrector method to follow the curve thus found in both directions, using the implicit function theorem.