Symbolic Mathematics Dr. Mihail November 20, 2018 (Dr. Mihail) - - PowerPoint PPT Presentation

symbolic mathematics
SMART_READER_LITE
LIVE PREVIEW

Symbolic Mathematics Dr. Mihail November 20, 2018 (Dr. Mihail) - - PowerPoint PPT Presentation

Symbolic Mathematics Dr. Mihail November 20, 2018 (Dr. Mihail) Symbolic November 20, 2018 1 / 16 Overview Symbolic So far in this course we dealt with MATLAB variables that were placeholders for numeric types (e.g., scalars, vectors,


slide-1
SLIDE 1

Symbolic Mathematics

  • Dr. Mihail

November 20, 2018

(Dr. Mihail) Symbolic November 20, 2018 1 / 16

slide-2
SLIDE 2

Overview

Symbolic

So far in this course we dealt with MATLAB variables that were placeholders for numeric types (e.g., scalars, vectors, matrices), with one exception, anonymous functions: f = @(x) ...

(Dr. Mihail) Symbolic November 20, 2018 2 / 16

slide-3
SLIDE 3

Overview

Symbolic

So far in this course we dealt with MATLAB variables that were placeholders for numeric types (e.g., scalars, vectors, matrices), with one exception, anonymous functions: f = @(x) ... We will now introduce the symbolic MATLAB data type. This is a non-numeric data type, used by the MATLAB Symbolic Math Toolbox to solve equations analytically, integrate and differentiate.

(Dr. Mihail) Symbolic November 20, 2018 2 / 16

slide-4
SLIDE 4

Symbolic Math

Symbolic Variables

To create three symbolic variables x, y and z, the following syntax is used: >> syms x y z Notice the lack of commas. >> whos Name Size Bytes Class Attributes x 1x1 112 sym y 1x1 112 sym z 1x1 112 sym

(Dr. Mihail) Symbolic November 20, 2018 3 / 16

slide-5
SLIDE 5

Symbolic Math

Symbolic Expressions

Symbolic expressions are created using symbolic variables. For example: >> syms x y z >> f = x.^2 + y - z f = x^2 + y - z It can also be created using the sym function: f = sym(’x.^2 + y - z’)

(Dr. Mihail) Symbolic November 20, 2018 4 / 16

slide-6
SLIDE 6

Utilities

Substitution

Symbolic expressions can be changed. One useful operation is substitution. The MATLAB function subs does that. The syntax is as follows: subs(S, old, new). For example: >> f = sym(’x^2 + y - z’); >> subs(f, ’x’, ’a’) ans = a^2 + y - z

(Dr. Mihail) Symbolic November 20, 2018 5 / 16

slide-7
SLIDE 7

Utilities

Plotting

MATLAB symbolic toolbox provides a function to plot symbolic expressions of one variable: ezplot(S), where S is the symbolic

  • expression. Example:

>> f = sym(’x^2 + 2*x - 2’); >> ezplot(f)

(Dr. Mihail) Symbolic November 20, 2018 6 / 16

slide-8
SLIDE 8

Utilities

Expansion

MATLAB symbolic toolbox provides functions to manipulate algebraic

  • expressions. For example expand(S):

>> f = sym(’(x + 2) * (x + 1)’); >> expand(f) ans = x^2 + 3*x + 2 performs an expansion of f.

(Dr. Mihail) Symbolic November 20, 2018 7 / 16

slide-9
SLIDE 9

Utilities

Factorization

factor(S): >> f = sym(’x^2 + 3*x + 2’); factor(f) ans = (x + 2)*(x + 1) performs the factorization of f.

(Dr. Mihail) Symbolic November 20, 2018 8 / 16

slide-10
SLIDE 10

Utilities

Simplification

factor(S): >> syms x a b c >> simplify(exp(c*log(sqrt(a+b)))) ans = (a + b)^(c/2) performs the simplification of f.

(Dr. Mihail) Symbolic November 20, 2018 9 / 16

slide-11
SLIDE 11

Utilities

Pretty

factor(S): >> syms x a b c >> S = simplify(exp(c*log(sqrt(a+b)))) S = (a + b)^(c/2) >> pretty(S) ans = c/2 (a + b) >> S = sym(’2*x^2 + 3*x - 2’); >> pretty(S) 2 2 x + 3 x - 2

(Dr. Mihail) Symbolic November 20, 2018 10 / 16

slide-12
SLIDE 12

Utilities

Equation Solving

The solve function is used to solve equations. For example: >> S = sym(’x^2 + 2 = 0’); >> solve(S) ans = i

  • i

Two complex solutions.

(Dr. Mihail) Symbolic November 20, 2018 11 / 16

slide-13
SLIDE 13

Utilities

Equation Solving

>> S = sym(’sin(x) = 2*pi’); >> solve(S) ans = asin(2*pi) pi - asin(2*pi) Infinite number of solutions, since a ∈ R.

(Dr. Mihail) Symbolic November 20, 2018 12 / 16

slide-14
SLIDE 14

Utilities

Differentiation

The diff function performs analytic differentiation. >> S = sym(’sin(x)’); >> diff(S) ans = cos(x)

(Dr. Mihail) Symbolic November 20, 2018 13 / 16

slide-15
SLIDE 15

Utilities

Differentiation

Another example: >> S = sym(’sin(x) + cos(x) - 2*x^2 + 2’); >> diff(S) ans = cos(x) - 4*x - sin(x)

(Dr. Mihail) Symbolic November 20, 2018 14 / 16

slide-16
SLIDE 16

Utilities

Integration

The int(S) function returns the indefinite integral of a symbolic expression S. >> S = sym(’cos(x)’); >> int(S) ans = sin(x)

  • cos(x) = sin(x)

(Dr. Mihail) Symbolic November 20, 2018 15 / 16

slide-17
SLIDE 17

Utilities

Integration

The int(S, 1, 2) function returns the definite integral of a symbolic expression S, evaluated in the range [1, 2]. >> S = sym(’cos(x)’); >> int(S) ans = sin(x)

  • cos(x, 1, 2)|2

1 = sin(2) − sin(1)

(Dr. Mihail) Symbolic November 20, 2018 16 / 16