Wednesday, August 5, 2009

fplot

Plot a function between specified limits

Syntax

  • fplot('function',limits)
    fplot('function',limits,LineSpec)
    fplot('function',limits,tol)
    fplot('function',limits,tol,LineSpec)
    fplot('function',limits,n)
    [X,Y] = fplot('function',limits,...)
    [...] = plot('function',limits,tol,n,LineSpec,P1,P2,...)

Description

fplot plots a function between specified limits. The function must be of the form y = f(x), where x is a vector whose range specifies the limits, and y is a vector the same size as x and contains the function's value at the points in x (see the first example). If the function returns more than one value for a given x, then y is a matrix whose columns contain each component of f(x) (see the second example).

fplot('function',limits) plots 'function' between the limits specified by limits. limits is a vector specifying the x-axis limits ([xmin xmax]), or the x- and y-axis limits, ([xmin xmax ymin ymax]).

'function' must be the name of an M-file function or a string with variable x that may be passed to eval, such as 'sin(x)', 'diric(x,10)' or '[sin(x),cos(x)]'.

The function f(x) must return a row vector for each element of vector x. For example, if f(x) returns [f1(x),f2(x),f3(x)] then for input [x1;x2] the function should return the matrix

  • f1(x1) f2(x1) f3(x1)
    f1(x2) f2(x2) f3(x2)

fplot('function',limits,LineSpec) plots 'function' using the line specification LineSpec.

fplot('function',limits,tol) plots 'function' using the relative error tolerance tol (The default is 2e-3, i.e., 0.2 percent accuracy).

fplot('function',limits,tol,LineSpec) plots 'function' using the relative error tolerance tol and a line specification that determines line type, marker symbol, and color.

fplot('function',limits,n) with n >= 1 plots the function with a minimum of n+1 points. The default n is 1. The maximum step size is restricted to be (1/n)*(xmax-xmin).

fplot(fun,lims,...) accepts combinations of the optional arguments tol, n, and LineSpec, in any order.

[X,Y] = fplot('function',limits,...) returns the abscissas and ordinates for 'function' in X and Y. No plot is drawn on the screen, however you can plot the function using plot(X,Y).

[...] = plot('function',limits,tol,n,LineSpec,P1,P2,...) enables you to pass parameters P1, P2, etc. directly to the function 'function':

  • Y = function(X,P1,P2,...)

To use default values for tol, n, or LineSpec, you can pass in the empty matrix ([]).

Remarks

fplot uses adaptive step control to produce a representative graph, concentrating its evaluation in regions where the function's rate of change is the greatest.

Examples

Plot the hyperbolic tangent function from -2 to 2:

  • fplot('tanh',[-2 2])



Create an M-file, myfun, that returns a two column matrix:

  • function Y = myfun(x)
    Y(:,1) = 200*sin(x(:))./x(:);
    Y(:,2) = x(:).^2;

Plot the function with the statement:

  • fplot('myfun',[-20 20]

Addition Examples

  • subplot(2,2,1);fplot('humps',[0 1])
    subplot(2,2,2);fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi])
    subplot(2,2,3);fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1])
    subplot(2,2,4);fplot('sin(1./x)',[0.01 0.1],1e-3)

No comments:

Post a Comment