Professional Documents
Culture Documents
Based on Maple kernel, symbolic Math Toolbox performs calculation symbolically in Matlab environment. The following examples
introduce some basic operations available in Basic Symbolic Math toolbox version 2.1.3.
Simplify
- In Matlab command window, we will first need to define alpha as a symbolic expression.
The commands "sym" and "syms" are Matlab's reserved words. When "syms" is used by itself at the command prompt, all defined
symbolic values will be listed.
>> simplify(z)
ans =
Example 2: Derivative.
>> syms x
>> f=x^3-cos(x);
>> g=diff(f)
Matlab returns:
g=
3*x^2+sin(x)
Note that the command "diff" was used to obtain the derivative of function f.
Since function f has only one independent variable, the diff command performed the calculation based on x. If there are more than
one independent variable in a function, you should include the "intended" variable in the following format:
diff(f, x)
>> syms x y
>> f=x^2+(y+5)^3;
>> diff(f,y)
Matlab returns:
ans =
3*(y+5)^2
Example 3: Integral
To integrate function f(x,y) as shown in Example 2, we will use the command "int" as shown below.
>> int(f,x)
Matlab returns:
ans =
1/3*x^3+(y+5)^3*x
The syntax of the integral command can be viewed by typing >> help int in Matlab command window.
>> int(f,y,0,10)
Matlab returns:
ans =
12500+10*x^2
Suppose we wish to find the roots of this polynomial. In Matlab Command window:
>> syms x
>> f=2*x^2 + 4*x -8;
>> solve(f,x)
Matlab returns:
ans =
5^(1/2)-1
-1-5^(1/2)
Alternately, you may use the following lines in Matlab to perform the same calculation:
Matlab returns:
ans =
-3.2361
1.2361
Note that the results from both approaches are the same.
>> syms a b c d e f g h
>> A=[a b; c d]
Matlab's echo:
A=
[ a, b]
[ c, d]
Next, matrix B is defined as:
Matlab's echo:
B=
[ e, f]
[ g, h]
>> C=A+B
C=
[ a+e, b+f]
[ c+g, d+h]
>> D=A*B
D=
[ a*e+b*g, a*f+b*h]
[ c*e+d*g, c*f+d*h]
If we wish to evaluate a specific matrix numerically, we simply assign the numeric values to the appropriate variable then use the
command eval as demonstrate below.
>> a=1;b=2;c=3;d=4;e=5;f=6;e=7;f=8;g=9;h=0;
>> eval(A)
ans =
12
34
>> eval(B)
ans =
78
90
>> eval(C)
ans =
8 10
12 4
>> D=inv(A)
D=
[ d/(a*d-b*c), -b/(a*d-b*c)]
[ -c/(a*d-b*c), a/(a*d-b*c)]
Numerically, D is expressed by
>> Dn=eval(inv(A))
Dn =
-2.0000 1.0000
1.5000 -0.5000
>> De=eval(D)
De =
-2.0000 1.0000
1.5000 -0.5000
>> Df=inv(eval(A))