3-D parametric curve plotter
fplot3(___,
sets
the line style, marker symbol, and line color. For example, LineSpec
)'-r'
specifies
a red line. Use this option after any of the previous input argument
combinations.
fplot3(___,
specifies
line properties using one or more name-value pair arguments. For example, Name,Value
)'LineWidth',2
specifies
a line width of 2 points.
fplot3(
plots
into the axes specified by ax
,___)ax
instead of the
current axes. Specify the axes as the first input argument.
returns
a parameterized function line object. Use the object to query and
modify properties of a specific parameterized function line. For a
list of properties, see Parameterized
Function Line Properties.fp
= fplot3(___)
Plot the 3-D parametric line
over the default parameter range [-5 5]
.
xt = @(t) sin(t); yt = @(t) cos(t); zt = @(t) t; fplot3(xt,yt,zt)
Plot the parametric line
over the parameter range [-10 10]
by specifying the fourth input argument of fplot3
.
xt = @(t) exp(-t/10).*sin(5*t); yt = @(t) exp(-t/10).*cos(5*t); zt = @(t) t; fplot3(xt,yt,zt,[-10 10])
Plot the same 3-D parametric curve three times over different intervals of the parameter. For the first interval, use a line width of 2 points. For the second, specify a dashed red line style with circle markers. For the third, specify a cyan, dash-dotted line style with asterisk markers.
fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [0 2*pi], 'LineWidth', 2) hold on fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [2*pi 4*pi], '--or') fplot3(@(t)sin(t), @(t)cos(t), @(t)t, [4*pi 6*pi], '-.*c') hold off
Plot multiple lines in the same axes using hold on
.
fplot3(@(t)t, @(t)t, @(t)t) hold on fplot3(@(t)-t, @(t)t, @(t)-t) hold off
Plot the parametric line
Assign the parameterized function line object to a variable.
xt = @(t)exp(-abs(t)/10).*sin(5*abs(t)); yt = @(t)exp(-abs(t)/10).*cos(5*abs(t)); zt = @(t)t; fp = fplot3(xt,yt,zt)
fp = ParameterizedFunctionLine with properties: XFunction: @(t)exp(-abs(t)/10).*sin(5*abs(t)) YFunction: @(t)exp(-abs(t)/10).*cos(5*abs(t)) ZFunction: @(t)t Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Use GET to show all properties
Change the range of parameter values to [-10 10]
and change the line color to red.
fp.TRange = [-10 10];
fp.Color = 'r';
For
values in the range
to
, plot the parametric line
Add a title, x-axis label, and y-axis label. Additionally, change the view of the axes and display the axes box outline.
xt = @(t)t; yt = @(t)t/2; zt = @(t)sin(6*t); fplot3(xt,yt,zt,[-2*pi 2*pi],'MeshDensity',30,'LineWidth',1); title('x=t, y=t/2, z=sin(6t) for -2\pi<t<2\pi') xlabel('x'); ylabel('y'); view(52.5,30) box on
Access the axes object using gca
. Specify the x-axis tick values and associated labels using the XTick
and XTickLabel
properties of the axes object. Similarly, specify the y-axis tick values and associated labels.
ax = gca; ax.XTick = -2*pi:pi/2:2*pi; ax.XTickLabel = {'-2\pi','-3\pi/2','-\pi','-\pi/2','0','\pi/2','\pi','3\pi/2','2\pi'}; ax.YTick = -pi:pi/2:pi; ax.YTickLabel = {'-\pi','-\pi/2','0','\pi/2','\pi'};
funx
— Parametric function for x coordinatesParametric function for x coordinates, specified as a function handle to a named or anonymous function.
Specify a function of the form x = funx(t)
.
The function must accept a vector input argument and return a vector
output argument of the same size. Use array operators instead of matrix
operators for the best performance. For example, use .*
(times
)
instead of * (mtimes
).
Example: funx = @(t) sin(2*t);
funy
— Parametric function for y coordinatesParametric function for y coordinates, specified as a function handle to a named or anonymous function.
Specify a function of the form y = funy(t)
.
The function must accept a vector input argument and return a vector
output argument of the same size. Use array operators instead of matrix
operators for the best performance. For example, use .*
(times
)
instead of * (mtimes
).
Example: funy = @(t) cos(2*t);
funz
— Parametric function for z coordinatesParametric function for z coordinates, specified as a function handle to a named or anonymous function.
Specify a function of the form z = funz(t)
.
The function must accept a vector input argument and return a vector
output argument of the same size. Use array operators instead of matrix
operators for the best performance. For example, use .*
(times
)
instead of * (mtimes
).
Example: funz = @(t) t;
tinterval
— Interval for parameter t
[–5 5]
(default) | two-element vector of form [tmin tmax]
Interval for parameter t
, specified as a
two-element vector of the form [tmin tmax]
.
ax
— Axes objectAxes object. If you do not specify an axes object, then fplot3
uses
the current axes (gca
).
LineSpec
— Line specificationLine specification, specified as a character vector with a line style, marker, and color. The elements of the character vector can appear in any order, and you can omit one or more options. To show only markers with no connecting lines, specify a marker and omit the line style.
Example: 'r--o'
specifies a red color, a dashed
line, and circle markers
Line Style Specifier | Description |
---|---|
- | Solid line (default) |
-- | Dashed line |
: | Dotted line |
-. | Dash-dot line |
Marker Specifier | Description |
---|---|
o | Circle |
+ | Plus sign |
* | Asterisk |
. | Point |
x | Cross |
s | Square |
d | Diamond |
^ | Upward-pointing triangle |
v | Downward-pointing triangle |
> | Right-pointing triangle |
< | Left-pointing triangle |
p | Pentagram |
h | Hexagram |
Color Specifier | Description |
---|---|
| yellow |
| magenta |
| cyan |
| red |
| green |
| blue |
| white |
| black |
Specify optional comma-separated pairs of Name,Value
arguments.
Name
is the argument
name and Value
is the corresponding
value. Name
must appear
inside single quotes (' '
).
You can specify several name and value pair
arguments in any order as Name1,Value1,...,NameN,ValueN
.
'Marker','o','MarkerFaceColor','red'
The properties listed here are only a subset. For a complete list, see Parameterized Function Line Properties.
'MeshDensity'
— Number of evaluation pointsNumber of evaluation points, specified as a number. The default
is 23
. Because fplot3 uses adaptive evaluation,
the actual number of evaluation points is greater.
'Color'
— Line color[0 0.4470 0.7410]
(default) | RGB triplet | character vectorLine color, specified as an RGB triplet or a character vector of a color name.
An RGB triplet is a three-element row vector whose elements
specify the intensities of the red, green, and blue components of
the color. The intensities must be in the range [0,1]
;
for example, [0.4 0.6 0.7]
. This table lists the
long and short color name options and the equivalent RGB triplet values.
Long Name | Short Name | RGB Triplet |
---|---|---|
'yellow' | 'y' | [1 1 0] |
'magenta' | 'm' | [1 0 1] |
'cyan' | 'c' | [0 1 1] |
'red' | 'r' | [1 0 0] |
'green' | 'g' | [0 1 0] |
'blue' | 'b' | [0 0 1] |
'white' | 'w' | [1 1 1] |
'black' | 'k' | [0 0 0] |
Example: 'blue'
Example: [0
0 1]
'LineStyle'
— Line style'-'
(default) | '--'
| ':'
| '-.'
| 'none'
Line style, specified as one of the line styles listed in this table.
Line Style | Description | Resulting Line |
---|---|---|
'-' | Solid line |
|
'--' | Dashed line |
|
':' | Dotted line |
|
'-.' | Dash-dotted line |
|
'none' | No line | No line |
'LineWidth'
— Line width0.5
(default) | positive valueLine width, specified as a positive value in points. If the line has markers, then the line width also affects the marker edges.
Example: 0.75
'Marker'
— Marker symbol'none'
(default) | 'o'
| '+'
| '*'
| '.'
| 'x'
| 's'
| 'd'
| ...
Marker symbol, specified as one of the values in this table. By default, a line does not have markers. Add markers at selected points along the line by specifying a marker.
Value | Description |
---|---|
'o' | Circle |
'+' | Plus sign |
'*' | Asterisk |
'.' | Point |
'x' | Cross |
'square' or 's' | Square |
'diamond' or 'd' | Diamond |
'^' | Upward-pointing triangle |
'v' | Downward-pointing triangle |
'>' | Right-pointing triangle |
'<' | Left-pointing triangle |
'pentagram' or 'p' | Five-pointed star (pentagram) |
'hexagram' or 'h' | Six-pointed star (hexagram) |
'none' | No markers |
'MarkerEdgeColor'
— Marker outline color'auto'
(default) | 'none'
| RGB triplet | character vector of color nameMarker outline color, specified as one of these values:
'auto'
— Use the same color
specified in the Color
property.
'none'
— Use no color, which
makes unfilled markers invisible.
RGB triplet or character vector of a color name — Use the specified color.
An RGB triplet is a three-element row vector whose elements
specify the intensities of the red, green, and blue components of
the color. The intensities must be in the range [0,1]
;
for example, [0.4 0.6 0.7]
. This table lists the
long and short color name options and the equivalent RGB triplet values.
Long Name | Short Name | RGB Triplet |
---|---|---|
'yellow' | 'y' | [1 1 0] |
'magenta' | 'm' | [1 0 1] |
'cyan' | 'c' | [0 1 1] |
'red' | 'r' | [1 0 0] |
'green' | 'g' | [0 1 0] |
'blue' | 'b' | [0 0 1] |
'white' | 'w' | [1 1 1] |
'black' | 'k' | [0 0 0] |
Example: [0.5 0.5 0.5]
Example: 'blue'
'MarkerFaceColor'
— Marker fill color'none'
(default) | 'auto'
| RGB triplet | character vector of color nameMarker fill color, specified as one of these values:
'none'
— Use no color, which
makes the interior invisible.
'auto'
— Use the same color
specified in the MarkerEdgeColor
property.
RGB triplet or character vector of a color name — Use the specified color.
An RGB triplet is a three-element row vector whose elements
specify the intensities of the red, green, and blue components of
the color. The intensities must be in the range [0,1]
;
for example, [0.4 0.6 0.7]
. This table lists the
long and short color name options and the equivalent RGB triplet values.
Long Name | Short Name | RGB Triplet |
---|---|---|
'yellow' | 'y' | [1 1 0] |
'magenta' | 'm' | [1 0 1] |
'cyan' | 'c' | [0 1 1] |
'red' | 'r' | [1 0 0] |
'green' | 'g' | [0 1 0] |
'blue' | 'b' | [0 0 1] |
'white' | 'w' | [1 1 1] |
'black' | 'k' | [0 0 0] |
Example: [0.3 0.2 0.1]
Example: 'green'
'MarkerSize'
— Marker size6
(default) | positive valueMarker size, specified as a positive value in points.
Example: 10
fp
— One or more parameterized function line objectsOne or more parameterized function line objects, returned as a scalar or a vector. You can use these objects to query and modify properties of a specific parameterized function line. For details, see Parameterized Function Line Properties.