190 likes | 693 Views
Math Review with Matlab:. Solving Algebraic Equations. Single Variable Transcendental Equations. S. Awad, Ph.D. M. Corless, M.S.E.E. D. Cinpinski E.C.E. Department University of Michigan-Dearborn. Solving Transcendental Equations. Solve Command Polynomial Transcendental Example
E N D
Math Review with Matlab: Solving AlgebraicEquations Single Variable Transcendental Equations S. Awad, Ph.D. M. Corless, M.S.E.E. D. Cinpinski E.C.E. Department University of Michigan-Dearborn
Solving TranscendentalEquations • Solve Command • Polynomial Transcendental Example • Poly2sym Command • Exponential Transcendental Example • Complex Solution Example
Solve Command • The Symbolic Toolbox’s solvecommand 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
Polynomial Transcendental Equation Example • Use Matlab’s Symbolic Toolbox solve command to solve the transcendental equation: » syms x » xs_sym=solve(x^2-3*x+2) xs_sym = [ 1] [ 2] » xs_dbl=double(xs) xs_dbl = 1 2
Poly2Sym Command • The poly2sym(f) command converts a polynomial coefficient vector to symbolic polynomial expression in terms of the default symbolic variable x • The sym2poly command converts a symbolic polynomial expression to a polynomial coefficient vector • The poly2sym(f,'v') command converts a polynomial coefficient vector to symbolic polynomial expression in terms of the symbolic variable v
Poly2sym Example • Example: » p=[5,2,-1,1,10]; Polynomial Vector » sym_exp=poly2sym(p) sym_exp = 5*x^4+2*x^3-x^2+x+10 Symbolic Expression » poly_vec=sym2poly(sym_exp) poly_vec = 5 2 -1 1 10 Polynomial Vector
Complex Solution Real Solution Exponential Transcendental Equation Example • Use the solve command to solve the transcendental equation: » xs_sym=solve(exp(2*x)+3*exp(x)-54) xs_sym = [ log(-9)] [ log(6)] » xs_dbl=double(xs) xs_dbl = 2.1972 + 3.1416i 1.7918
Verify Loge(-9) • In Matlab, log is the natural log of base e: • Verify ln(-a) is a complex number : • In this case -a = -9, so:
Complex Solution Example • Solve the nonlinear equation: • Verify the result » syms x » rt = solve('x^2+exp(x)+5') rt = 3.5668799472626199482146544957277+ 4.8873680198538466074569067078051*i » z=subs('x^2+exp(x)+5',rt) z = .2e-30
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 convertpolynomial vectors to/from symbolic expressions