Plot symbolic expression or function (2024)

Plot symbolic expression or function

collapse all in page

Syntax

fplot(f)

fplot(f,[xmin xmax])

fplot(xt,yt)

fplot(xt,yt,[tmintmax])

fplot(___,LineSpec)

fplot(___,Name,Value)

fplot(ax,___)

fp = fplot(___)

Description

example

fplot(f) plots symbolic input f over the default interval [-5 5].

example

fplot(f,[xmin xmax]) plots f overthe interval [xmin xmax].

example

fplot(xt,yt) plots xt = x(t) and yt = y(t) over the default range of t, which is [–5 5].

fplot(xt,yt,[tmintmax]) plots xt = x(t) and yt = y(t) over the specified range [tmin tmax].

example

fplot(___,LineSpec) uses LineSpec toset the line style, marker symbol, and line color.

example

fplot(___,Name,Value) specifiesline properties using one or more Name,Value pairarguments. Use this option with any of the input argument combinationsin the previous syntaxes. Name,Value pair settingsapply to all the lines plotted. To set options for individual lines,use the objects returned by fplot.

fplot(ax,___) plotsinto the axes specified by ax instead of thecurrent axes gca.

example

fp = fplot(___) returnsa function line object or parameterized line object, depending onthe type of plot. Use the object to query and modify properties ofa specific line. For details, see FunctionLine Properties and ParameterizedFunctionLine Properties.

Examples

collapse all

Plot Symbolic Expression

Open Live Script

Plot tan(x) over the default range [-5 5]. fplot shows poles by default. For details, see the ShowPoles argument in Name-Value Arguments.

syms xfplot(tan(x))

Plot symbolic expression or function (1)

Plot Symbolic Function

Open Live Script

Plot the symbolic function f(x) = cos(x) over the default range [-5 5].

syms f(x)f(x) = cos(x);fplot(f)

Plot symbolic expression or function (2)

Plot Parametric Curve

Open Live Script

Plot the parametric curve x = cos(3*t) and y = sin(2*t).

syms tx = cos(3*t);y = sin(2*t);fplot(x,y)

Plot symbolic expression or function (3)

Specify Plotting Interval

Open Live Script

Plot sin(x) over [-pi/2 pi/2] by specifying the plotting interval as the second input to fplot.

syms xfplot(sin(x),[-pi/2 pi/2])

Plot symbolic expression or function (4)

Plot Multiple Lines on Same Figure

Open Live Script

You can plot multiple lines either by passing the inputs as a vector or by using hold on to successively plot on the same figure. If you specify LineSpec and Name-Value arguments, they apply to all lines. To set options for individual plots, use the function handles returned by fplot.

Divide a figure into two subplots using subplot. On the first subplot, plot sin(x) and cos(x) using vector input. On the second subplot, plot sin(x) and cos(x) using hold on.

syms xsubplot(2,1,1)fplot([sin(x) cos(x)])title('Multiple Lines Using Vector Inputs')subplot(2,1,2)fplot(sin(x))hold onfplot(cos(x))title('Multiple Lines Using hold on Command')hold off

Plot symbolic expression or function (5)

Change Line Properties and Display Markers

Open Live Script

Plot three sine curves with a phase shift between each line. For the first line, use a linewidth of 2. For the second, specify a dashed red line style with circle markers. For the third, specify a cyan, dash-dot line style with asterisk markers. Display the legend.

syms xfplot(sin(x+pi/5),'Linewidth',2)hold onfplot(sin(x-pi/5),'--or')fplot(sin(x),'-.*c')legend('show','Location','best')hold off

Plot symbolic expression or function (6)

Control Resolution of Plot

Open Live Script

Control the resolution of a plot by using the MeshDensity option. Increasing MeshDensity can make smoother, more accurate plots, while decreasing it can increase plotting speed.

Divide a figure into two by using subplot. In the first subplot, plot a step function from x = 2.1 to x = 2.15. The plot's resolution is too low to detect the step function. Fix this issue by increasing MeshDensity to 39 in the second subplot. The plot now detects the step function and shows that by increasing MeshDensity you increased the plot's resolution.

syms xstepFn = rectangularPulse(2.1, 2.15, x);subplot(2,1,1)fplot(stepFn);title('Default MeshDensity = 23')subplot(2,1,2)fplot(stepFn,'MeshDensity',39);title('Increased MeshDensity = 39')

Plot symbolic expression or function (7)

Modify Plot After Creation

Open Live Script

Plot sin(x). Specify an output to make fplot return the plot object.

syms xh = fplot(sin(x))

Plot symbolic expression or function (8)

h = FunctionLine with properties: Function: sin(x) Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Use GET to show all properties

Change the default blue line to a dashed red line by using dot notation to set properties. Similarly, add 'x' markers and set the marker color to blue.

h.LineStyle = '--';h.Color = 'r';h.Marker = 'x';h.MarkerEdgeColor = 'b';

Plot symbolic expression or function (9)

Add Title and Axis Labels and Format Ticks

Open Live Script

Plot sin(x) over the interval [-2*pi 2*pi]. Add a title and axis labels. Create the x-axis ticks by spanning the x-axis limits at intervals of pi/2. Display these ticks by using the XTick property. Create x-axis labels by using arrayfun to apply texlabel to S. Display these labels by using the XTickLabel property.

To use LaTeX in plots, see latex.

syms xfplot(sin(x),[-2*pi 2*pi])grid ontitle('sin(x) from -2\pi to 2\pi')xlabel('x')ylabel('y')ax = gca;S = sym(ax.XLim(1):pi/2:ax.XLim(2));ax.XTick = double(S);ax.XTickLabel = arrayfun(@texlabel,S,'UniformOutput',false);

Plot symbolic expression or function (10)

Zoom Into Plot

Open Script

When you zoom into a plot, fplot reevaluates the plot automatically. The reevaluation when zooming reveals more details at smaller scales.

Plot the curve Plot symbolic expression or function (11) for Plot symbolic expression or function (12) and Plot symbolic expression or function (13). Zoom into the plot using zoom and redraw the plot using drawnow. Because of reevaluation on zoom, fplot reveals more details. Repeat the zoom 6 times to view smaller-scale details.

syms xfplot(x^3*sin(1/x));axis([-2 2 -0.02 0.02]);for i=1:6 zoom(1.7) pause(0.5)end

Plot symbolic expression or function (14)

Create Animation of Parametric Curve

Open Script

Create an animation of a parametric curve where one of the parameters changes with time. The Plot symbolic expression or function (15)- and Plot symbolic expression or function (16)-coordinates of the parametric curve are given by

Plot symbolic expression or function (17)

Plot symbolic expression or function (18)

By varying the variable Plot symbolic expression or function (19) from 0.1 to 3, animate the parametric curve.

Create two symbolic variables k and t. Use the variable k to parameterize the curve within the range [-5 5] and use the variable t to animate the curve as the time proceeds from 0.1 to 3. Create a stop-motion animation object of the time snapshots by using fanimator. Set the Plot symbolic expression or function (20)-axis and Plot symbolic expression or function (21)-axis to be equal length.

syms k tfanimator(@fplot,k*t*sin(k*t),k*t*cos(k*t),[-5 5],AnimationRange = [0.1 3])axis equal

Plot symbolic expression or function (22)

Play the animation by using playAnimation.

playAnimation

Plot symbolic expression or function (23)

You can also save the animation as a GIF file by using writeAnimation.

writeAnimation("parametricCurve.gif")

Plot symbolic expression or function (24)

Input Arguments

collapse all

fExpression or function to plot
symbolic expression | symbolic function

Expression or function to plot, specified as a symbolic expressionor function.

[xmin xmax]Plotting interval for x-coordinates
[–5 5] (default) | vector of two numbers

Plotting interval for x-coordinates, specified as a vector of two numbers. The default range is [-5 5]. However, if fplot detects a finite number of discontinuities in f, then fplot expands the range to show them.

xtParametric input for x-coordinates
symbolic expression | symbolic function

Parametric input for x-coordinates, specified as a symbolic expression or function. fplot uses symvar to find the parameter.

ytParametric input for y-axis
symbolic expression | symbolic function

Parametric input for y-axis, specified as a symbolic expression or function. fplot uses symvar to find the parameter.

[tmin tmax]Range of values of parameter t
[–5 5] (default) | vector of two numbers

Range of values of parameter t, specifiedas a vector of two numbers. The default range is [-5 5].

axAxes object
axes object

Axes object. If you do not specify an axes object, then fplot usesthe current axes gca.

LineSpecLine style, marker, and color
string scalar | character vector

Line style, marker, and color, specified as a string scalar or character vector containing symbols. The symbols can appear in any order. You do not need to specify all three characteristics (line style, marker, and color). For example, if you omit the line style and specify the marker, then the plot shows only the marker and no line.

Example: "--or" is a red dashed line with circle markers.

Line StyleDescriptionResulting Line
"-"Solid line

Plot symbolic expression or function (25)

"--"Dashed line

Plot symbolic expression or function (26)

":"Dotted line

Plot symbolic expression or function (27)

"-."Dash-dotted line

Plot symbolic expression or function (28)

MarkerDescriptionResulting Marker
"o"Circle

Plot symbolic expression or function (29)

"+"Plus sign

Plot symbolic expression or function (30)

"*"Asterisk

Plot symbolic expression or function (31)

"."Point

Plot symbolic expression or function (32)

"x"Cross

Plot symbolic expression or function (33)

"_"Horizontal line

Plot symbolic expression or function (34)

"|"Vertical line

Plot symbolic expression or function (35)

"square"Square

Plot symbolic expression or function (36)

"diamond"Diamond

Plot symbolic expression or function (37)

"^"Upward-pointing triangle

Plot symbolic expression or function (38)

"v"Downward-pointing triangle

Plot symbolic expression or function (39)

">"Right-pointing triangle

Plot symbolic expression or function (40)

"<"Left-pointing triangle

Plot symbolic expression or function (41)

"pentagram"Pentagram

Plot symbolic expression or function (42)

"hexagram"Hexagram

Plot symbolic expression or function (43)

Color NameShort NameRGB TripletAppearance
"red""r"[1 0 0]

Plot symbolic expression or function (44)

"green""g"[0 1 0]

Plot symbolic expression or function (45)

"blue""b"[0 0 1]

Plot symbolic expression or function (46)

"cyan" "c"[0 1 1]

Plot symbolic expression or function (47)

"magenta""m"[1 0 1]

Plot symbolic expression or function (48)

"yellow""y"[1 1 0]

Plot symbolic expression or function (49)

"black""k"[0 0 0]

Plot symbolic expression or function (50)

"white""w"[1 1 1]

Plot symbolic expression or function (51)

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'Marker','o','MarkerFaceColor','red'

The function line properties listed here are only a subset.For a complete list, see FunctionLine Properties.

ShowPolesDisplay asymptotes at poles
'on' (default) | on/off logical value

Display asymptotes at poles, specified as 'on' or 'off', or as numeric or logical 1 (true) or 0 (false). A value of 'on' is equivalent to true, and 'off' is equivalent to false. Thus, you can use the value of this property as a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState.

The asymptotes display as gray, dashed vertical lines. fplot displays asymptotes only with the fplot(f) syntax or variants, and not with the fplot(xt,yt) syntax.

Output Arguments

collapse all

fp — One or more function or parameterized line objects
scalar | vector

One or more function or parameterized function line objects,returned as a scalar or a vector.

  • If you use the fplot(f) syntaxor a variation of this syntax, then fplot returnsfunction line objects.

  • If you use the fplot(xt,yt) syntaxor a variation of this syntax, then fplot returnsparameterized line objects.

You can use these objects to query and modify properties ofa specific line. For a list of properties, see FunctionLine Properties and ParameterizedFunctionLine Properties.

Tips

  • If fplot detects a finite number of discontinuities in f, then fplot expands the range to show them.

  • If fplot is used with a function handle to a named or anonymous function (that is not a symbolic expression or function), then the MATLAB fplot function is called. In this case, the function handle 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) in the code fplot(@(x) x.*sin(2*pi*x)).

Version History

Introduced in R2016a

See Also

Functions

  • fcontour | fimplicit | fimplicit3 | fmesh | fplot3 | fpolarplot | fsurf

Properties

  • FunctionLine Properties | ParameterizedFunctionLine Properties

Topics

  • Create Plots of Symbolic Expressions

MATLAB Command

You clicked a link that corresponds to this MATLAB command:

 

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Plot symbolic expression or function (52)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

Contact your local office

Plot symbolic expression or function (2024)

References

Top Articles
Latest Posts
Article information

Author: Jamar Nader

Last Updated:

Views: 6344

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Jamar Nader

Birthday: 1995-02-28

Address: Apt. 536 6162 Reichel Greens, Port Zackaryside, CT 22682-9804

Phone: +9958384818317

Job: IT Representative

Hobby: Scrapbooking, Hiking, Hunting, Kite flying, Blacksmithing, Video gaming, Foraging

Introduction: My name is Jamar Nader, I am a fine, shiny, colorful, bright, nice, perfect, curious person who loves writing and wants to share my knowledge and understanding with you.