S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan Math Review with...

21
S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan Math Review with Matlab: Simplification Symbolic Math Toolbox

Transcript of S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan Math Review with...

S. Awad, Ph.D.

M. Corless, M.S.E.E.

E.C.E. Department

University of Michigan

Math Review with Matlab:

Simplification

Symbolic Math Toolbox

U of M-Dearborn ECE DepartmentMath Review with Matlab

2

Symbolic Toolbox: Simplifications and Substitutions

Symbolic Simplifications Pretty Command Factor Command Collect Command Expand Command Simplify Command Simple Command

U of M-Dearborn ECE DepartmentMath Review with Matlab

3

Symbolic Toolbox: Simplifications and Substitutions

Pretty Command

The pretty command can be used to display symbolic expression in a format that resembles type-set mathematics

Pretty

pretty(s) prints the symbolic expression s

pretty(s,n) prints s using screen width n instead of the default 79

U of M-Dearborn ECE DepartmentMath Review with Matlab

4

Symbolic Toolbox: Simplifications and Substitutions

Pretty Examples» syms x» f=x^3 - 6*x^2 + 21*x -6;

» g=(x-1)*(x-2)*(x-3);» pretty(g) (x - 1) (x - 2) (x - 3)

» h=x*(x*(x-6)+11)-6;» pretty(h) x (x (x - 6) + 11) - 6

Product Polynomial

Nested Products

Polynomial» pretty(f) 3 2 x - 6 x + 21 x - 6

U of M-Dearborn ECE DepartmentMath Review with Matlab

5

Symbolic Toolbox: Simplifications and Substitutions

Factor Command The factor(f) command factors f into polynomial

products

» f = x^3 -6*x^2 +11*x -6;» y = factor(f)y =(x-1)*(x-2)*(x-3)

» y = factor(x^5-1)y =(x-1)*(x^4+x^3+x^2+x+1)

)3)(2)(1(116 623 xxxxxx

)1)(1(1 2345 xxxxxx

U of M-Dearborn ECE DepartmentMath Review with Matlab

6

Symbolic Toolbox: Simplifications and Substitutions

Collect Command The collect command collects coefficients of a

symbolic expression and rewrites it as powers of a polynomial

collect(s,v) s is a symbolic expression matrix

v is the independent polynomial variable

If v is omitted, collect uses rules to determine a default variable

U of M-Dearborn ECE DepartmentMath Review with Matlab

7

Symbolic Toolbox: Simplifications and Substitutions

Collect Examples Create symbolic

expression f(x,t)=(1+x)t+xt

» syms x t» f=(1+x)*t+x*tf =(1+x)*t+x*t

Specify collecting the x terms

Specify collecting the t terms

Unspecified independent variable collects the x variable

» f_col_x = collect(f,x)f_col_x =2*x*t+t

» f_col_t = collect(f,t)f_col_t =(1+2*x)*t

» f_col = collect(f)f_col =2*x*t+t

U of M-Dearborn ECE DepartmentMath Review with Matlab

8

Symbolic Toolbox: Simplifications and Substitutions

Expand Command The expand(s) command writes each element of the

symbolic expression s as a product of its factors

Types of expandable expressions include:

Polynomial expressions Trigonometric expressions Exponential expressions Logorithmetic expressions

This is the inverse of the collect command

U of M-Dearborn ECE DepartmentMath Review with Matlab

9

Symbolic Toolbox: Simplifications and Substitutions

Expand Examples

» syms a x y» expand(a*(x+y)) ans = a*x+a*y

» expand(exp(x+y))ans =exp(x)*exp(y)

Polynomial Expansion

Exponential Expansion

ayaxyxa

yxyx eee )(

Polynomial and exponential expansion examples

U of M-Dearborn ECE DepartmentMath Review with Matlab

10

Symbolic Toolbox: Simplifications and Substitutions

Involved Expand Example Given the following function of x:

xxf 1cos3cos)(

1) Expand f(x) by hand to get a polynomial function of x

2) Verify the result using the symbolic expand command

U of M-Dearborn ECE DepartmentMath Review with Matlab

11

Symbolic Toolbox: Simplifications and Substitutions

Expansion Approach To expand f(x) by hand, represent the inverse cosine

portion as a new function z

xxf 1cos3cos)(

xz 1cos

Expand cos(3z) in terms of z Once cos(3z) is expanded, substitute back in z=cos-

1(x)

Let:

zxf 3cos)( Thus:

U of M-Dearborn ECE DepartmentMath Review with Matlab

12

Symbolic Toolbox: Simplifications and Substitutions

Expand cos(3z) Term

zzxf

zzzz

zzzz

zzzz

zzzz

zzzzz

zzzz

zz

zxf

cos3cos4)(

cos2cos2coscos2

cos2cos2coscos2

coscos12coscos2

cossincoscos2

cossin2sincos1cos2

2sinsincos2cos

2cos

3cos)(

3

33

33

23

23

2

Begin by expanding f(x) in terms of z

U of M-Dearborn ECE DepartmentMath Review with Matlab

13

Symbolic Toolbox: Simplifications and Substitutions

Substitute and Simplify From the previous work:

zzxf cos3cos4)( 3 )(cos 1 xz

Substitute:

Simplify:

xxxf 113 coscos3coscos4)(

xxxf 34)( 3

U of M-Dearborn ECE DepartmentMath Review with Matlab

14

Symbolic Toolbox: Simplifications and Substitutions

Expand Verification

This is easily verified in Matlab

» expand( cos(3*acos(x)) )ans =4*x^3-3*x

xxxxf 34cos3cos)( 31

U of M-Dearborn ECE DepartmentMath Review with Matlab

15

Symbolic Toolbox: Simplifications and Substitutions

» syms x» f1=sin(x)^2 + cos(x)^2 + log(x);» f1_smplfy = simplify(f1) f1_smplfy = 1+log(x)

Simplify Command The simplify(s) command performs algebraic,

trigonometric, and logarithmic identities and relationships to simplify each element of the the symbolic matrix s

Trigonometric Identity:

1)(cos)(sin 22 xx

U of M-Dearborn ECE DepartmentMath Review with Matlab

16

Symbolic Toolbox: Simplifications and Substitutions

» syms a b» f=exp(a*log(b));» f_smplfy=simplify(f)f_smplfy =b^a » f_expnd = expand(f)f_expnd = b^a

Simplify Example Simplify the expression:

a

b

bbaf

ebafa

),(

),( ln

baebaf ln),(

Expand gives the same result

U of M-Dearborn ECE DepartmentMath Review with Matlab

17

Symbolic Toolbox: Simplifications and Substitutions

Example Methods for Simplification: Collect Similar Terms Trigonometric Identities Log/Complex Number Relations

Simple Command r = simple(s) tries different algebraic simplifications

and looks for the shortest form of the entire symbolic matrix s. If the result r is not specified, all intermediate steps are displayed to the screen.

[r,how] = simple(s) does not display intermediate simplifications, but returns the shortest form, as well as a string describing the simplification method used

U of M-Dearborn ECE DepartmentMath Review with Matlab

18

Symbolic Toolbox: Simplifications and Substitutions

Simplify Example Use the simple command to simplify the function f from the

previous example and show intermediate steps

» f=exp(a*log(b));» f_smpl=simple(f)simplify:b^a

radsimp:exp(a*log(b))

combine(trig):exp(a*log(b))

convert(sincos):exp(a*log(b))

convert(tan):exp(a*log(b))

collect(b):exp(a*log(b)) f_smpl =b^a

abxf )(

factor:exp(a*log(b))

expand:b^a

combine:exp(a*log(b))

convert(exp):exp(a*log(b))

U of M-Dearborn ECE DepartmentMath Review with Matlab

19

Symbolic Toolbox: Simplifications and Substitutions

Best Simplify Method Perform the

simplification again but show only the result

» [f_smpl]=simple(f) f_smpl =b^a

Recall from a previous example that the expand and simplify methods gave the same results

Also show which simplification was used » [f_smpl,how]=simple(f)

f_smpl =b^a how =expand

U of M-Dearborn ECE DepartmentMath Review with Matlab

20

Symbolic Toolbox: Simplifications and Substitutions

Simple Example

» f=sym( '(1+1/2*2^(1/2))^2+1+1/2*2^(1/2)') f =(1+1/2*2^(1/2))^2+1+1/2*2^(1/2) » f_smpl=simple(f)f_smpl =5/2+3/2*2^(1/2)

The simple command can also be used to simplify symbolic mathematical expressions without dependent variables

U of M-Dearborn ECE DepartmentMath Review with Matlab

21

Symbolic Toolbox: Simplifications and Substitutions

Summary The pretty command can be used to display symbolic

expressions in mathematical type-set form

The factor, collect, expand, and simplify commands can be used to reduce a symbolic expression to shorter forms

The simple command implements multiple simplification methods to simplify a symbolic expression to its shortest form

The simple command can also return the best simplification method used to reduce the symbolic expression