Excel Definitions
Download
Report
Transcript Excel Definitions
259 Lecture 18
The Symbolic Toolbox
The Symbolic Toolbox
MATLAB has a set of built-in commands that allow us to
work with functions in a fashion similar to Mathematica.
Octave can also perform some of the same functionality via
the “symbolic” package – we will look at this after the
MATLAB features!
For more on the commands available, type “help Symbolic
Toolbox”.
The commands we will look at are:
sym, syms, diff, int, simplify, pretty, subs, double, and
ezplot.
For help on these commands, use the help file.
If a symbolic command has the same name as a numerical
command, such as “diff”, typing “help sym/commandname”
will give help on the symbolic command.
Try “help diff” and “help sym/diff”.
2
sym
To define symbolic
variables in MATLAB,
use the “sym”
command.
Example 1a: Here’s
how to define variables
x, y, and a, and
functions
f(x) = x3 + 2x2 +x-1
g(x) = sin(x)
h(y) = (a2y2)/(y+1)
x = sym(‘x’)
y = sym(‘y’)
a = sym(‘a’)
f = x^3+2*x^2+x-1
g = sin(x)
h = sqrt(a^2-y^2)/(y+1)
Typing “pretty(h)” will
make h(y) look nicer!
Note that in MATLAB, “syms
x y a” also works to define
symbolic variables!
3
diff
To find the derivative
of a function defined
symbolically, we use
the “diff” command.
Example 2a: Find the
following derivatives of
the functions from
Example 1a: f’(x),
f’’(x), g’(x), h’’’(y).
Also find dy/dx if
y = x + x2 – x4 or
y = tan(x)sin(x) -ln(x)/ex
diff(f)
fprime = diff(f)
f2prime = diff(f,2)
gprime = diff(g)
h3prime = diff(h,3)
pretty(h3prime)
simplify(h3prime)
pretty(simplify(h3prime))
diff('x + x^2 - x^4')
diff('tan(x)^sin(x) log(x)/exp(x)')
pretty(ans)
4
subs
To evaluate a symbolic
function we use the
command “subs”.
Example 3a: For the
functions defined in
Example 1a, find each
of the following:
f(-3)
f(v) where v = [1 2 4]
g’(pi/4)
h(1)
h(1) with a = 2
h(y) with a = 2
subs(f,-3)
v = [1 2 4]
subs(f,v)
subs(gprime,pi/4)
subs(h,1)
b = subs(h,1)
subs(b,2)
subs(h,'a',2)
5
ezplot
We can plot symbolic
functions with the
command “ezplot”!
Example 4a: Use ezplot
to graph the functions
f(x), g(x), g’(x), f’(x),
and f’’(x) defined in
Example 1a.
Note that the default
settings for ezplot can be
changed with title,
xlabel, and ylabel.
The default x-interval of
[-2, 2] can also be
changed.
ezplot(f)
ezplot(f,[-1,1])
ezplot(g)
ezplot(gprime,[0,2*pi])
One way to plot multiple
graphs via ezplot:
ezplot(f)
hold on
ezplot(fprime)
ezplot(f2prime)
title('Plot of f and it''s
derivatives.')
hold off
6
int
To find indefinite or
definite integrals in
MATLAB, we use “int”.
Example 5: Find each
integral:
int(f)
int(g,0,pi)
int(h,'y',0.5,1)
pretty(ans)
sym(a,'positive')
int(h,'y',0.5,1)
pretty(ans)
int(h,'a',0.5,1)
int('x + x^2 - x^4')
7
funtool
Finally, here’s a way to work with
functions that is more “user
friendly”.
Typing “funtool” brings up a
function calculator in MATLAB.
funtool is a visual function
calculator that manipulates and
displays functions of one variable.
At startup, funtool displays
graphs of a pair of functions,
f(x) = x and g(x) = 1.
The graphs plot the functions
over the domain [-2*pi, 2*pi].
funtool also displays a control
panel that lets you save, retrieve,
redefine, combine, and transform
f and g.
8
Symbolic Package in Octave
To perform symbolic manipulation in Octave, first
we need to load the “symbolic” package.
The symbolic package, as well as other add-ons
can be found here:
Octave downloads from Source Forge (both Windows
and Mac OS X installers can be found here:
http://octave.sourceforge.net/
Octave Homepage:
http://www.gnu.org/software/octave/
A reference for the “symbolic” package can be
found here (choose “Function Reference”):
http://octave.sourceforge.net/symbolic/index.html
9
Symbolic Functions in Octave
Once the “symbolic” package is
installed, turn on Octave and type
“pkg load all” to load all installed
packages.
To enable the symbolic features in
Octave, type “symbols”.
10
sym in Octave
To define symbolic
variables in Octave,
use the “sym”
command.
Example 1b: Here’s
how to define variables
x, y, and a, and
functions
f(x) = x3 + 2x2 +x-1
g(x) = sin(x)
h(y) = (a2y2)/(y+1)
x = sym(‘x’)
y = sym(‘y’)
a = sym(‘a’)
f = x^3+2*x^2+x-1
g = Sin(x)
h = Sqrt(a^2-y^2)/(y+1)
11
diff in Octave
To find the derivative
of a function defined
symbolically in Octave,
we use the
“differentiate”
command.
Example 2b: Find the
following derivatives of
the functions from
Example 1b: f’(x),
f’’(x), g’(x), h’’’(y).
Also find dy/dx if
y = x + x2 – x4 or
differentiate(f,x)
fprime = differentiate(f,x)
f2prime =
differentiate(f,x,2)
gprime = differentiate(g,x)
h3prime =
differentiate(h,y,3)
differentiate(x + x^2 x^4,x)
differentiate(Tan(x)^Sin(x)
-Log(x)/Exp(x),x)
y = tan(x)sin(x) -ln(x)/ex
12
subs in Octave
To evaluate a symbolic
function in Octave, we
use the command
“subs”.
Example 3b: For the
functions defined in
Example 1b, find each
of the following:
f(-3)
g’(pi/4)
h(1)
h(1) with a = 2
h(y) with a = 2
subs(f,x,-3)
subs(gprime,pi/4)
subs(h,y,1)
b = subs(h,y,1)
subs(b,a,2)
subs(h,a,2)
13
ezplot in Octave
We can plot symbolic
functions with the
command “ezplot”!
Example 4b: Use ezplot
to graph the functions
f(x), g(x), g’(x), f’(x),
and f’’(x) defined in
Example 1b.
Note that the default
settings for ezplot can be
changed with title,
xlabel, and ylabel.
The default x-interval of
[-2, 2] can also be
changed.
Recall that
f = x^3+2*x^2+x-1
g = Sin(x)
ezplot(‘x^3+2*x^2+x-1’)
ezplot(‘x^3+2*x^2+x-1’)
ezplot(‘x^3+2*x^2+x1’,[-1,1])
ezplot(‘sin(x)’)
ezplot(‘cos(x)’,[0,2*pi])
One way to plot multiple
graphs via ezplot:
hold on
ezplot(‘3*x^2+4*x+1’)
ezplot(‘6x+4’)
title('Plot of f and it''s
derivatives.')
hold off
14
References
Using MATLAB in Calculus by Gary
Jenson
MATLAB Help File
15