Вы находитесь на странице: 1из 10

# Solving Algebraic

Equations
M. Corless, M.S.E.E.
D. Cinpinski
E.C.E. Department
University of Michigan-Dearborn
Math Review with Matlab:
Single Variable
Transcendental Equations
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
2
Solving Transcendental
Equations
Solve Command
Polynomial Transcendental Example
Poly2sym Command
Exponential Transcendental Example
Complex Solution Example
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
3
Solve Command
The Symbolic Toolboxs solve command is used to
solve both transcendental and algebraic equations
solve(f) solves f in terms of the independent symbolic
variable closest to x. f must be a symbolic expression
or a entered as a text string enclosed by single quotes
solve(f1,f2,...,fn) is used to solve multiple
equations by separating the symbolic equations by
commas as follows
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
4
Polynomial Transcendental
Equation Example
Use Matlabs
Symbolic Toolbox
solve command
to solve the
transcendental
equation:
0 2 3
2
= + x x
syms x
xs_sym=solve(x^2-3*x+2)
xs_sym =
[ 1]
[ 2]

2
1
2
1
=
=
x
x
xs_dbl=double(xs)
xs_dbl =
1
2
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
5
Poly2Sym Command
The sym2poly command converts a symbolic
polynomial expression to a polynomial coefficient
vector
The poly2sym(f) command converts a polynomial
coefficient vector to symbolic polynomial expression in
terms of the default symbolic variable x
The poly2sym(f,'v') command converts a polynomial
coefficient vector to symbolic polynomial expression in
terms of the symbolic variable v
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
6
p=[5,2,-1,1,10];

Poly2sym Example
10 2 5
2 3 4
+ + + = x x x x y
Example:
sym_exp=poly2sym(p)

sym_exp =
5*x^4+2*x^3-x^2+x+10
Polynomial
Vector
Symbolic
Expression
poly_vec=sym2poly(sym_exp)

poly_vec =
5 2 -1 1 10
Polynomial
Vector
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
7
Exponential Transcendental
Equation Example
0 54 3
2
= +
x x
e e
xs_sym=solve(exp(2*x)+3*exp(x)-54)
xs_sym =
[ log(-9)]
[ log(6)]

Complex Solution
Real Solution
Use the solve command to solve
the transcendental equation:
xs_dbl=double(xs)
xs_dbl =
2.1972 + 3.1416i
1.7918
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
8
Verify Log
e
(-9)
t
o o
j
e =
( ) ( )
t t
o o
j j
e e ln ln ln + =
( )
( ) t o o
t o
t
j e
e j
j
+ =
+ =
ln ln
ln ln
In this case
-o = -9, so:
1416 . 3 1972 . 2 ) 9 ln( j + =
In Matlab, log is the
natural log of base e:
Verify ln(-o) is a
complex number :
( ) ) ln( log o o =
e
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
9
Complex Solution Example
Solve the nonlinear equation:
0 5
2
= + +
x
e x
syms x
rt = solve('x^2+exp(x)+5')
rt =
3.5668799472626199482146544957277+
4.8873680198538466074569067078051*i

Verify the result
z=subs('x^2+exp(x)+5',rt)
z =
.2e-30 0 10 2 . 0
30
~ =

z
U of M-Dearborn ECE Department Math Review with Matlab
Solving Algebraic Equations: Transcendental Equations
10
Summary
The solve command can be used to solve
symbolic transcendental equations with real or
complex solutions
poly2sym and sym2poly commands can be
used to convert polynomial vectors to/from
symbolic expressions