Module 4: MATH AND DATA ANALYSIS
Learning Objectives
After reading this lesson, you should be able to:
(1) perform basic algebra with mathematical operators,
(2) find logarithmic functions with different bases in MATLAB,
(3) calculate basic trigonometric functions in MATLAB.
What kind of mathematical functions and operations are available in MATLAB?
Basic math (addition, subtraction, multiplication, etc.) syntax in
MATLAB is the same as it is in most calculators (+,-,*,/,^
). The
syntax is the same whether used with variables or directly with numbers.
You have seen these numerous times in previous lessons, but we include
them here for completeness.
Important Note: You must
use the multiplication operator everywhere you have multiplication.
\(7x\) should be 7*x
, and \(7(x+1)\) should be 7*(x+1)
. You will get
an error if you are missing a multiplication operator.
MATLAB has several mathematical functions such as logarithmic, exponential, trigonometric, hyperbolic, etc. In this lesson, we will cover the use of logarithmic and trigonometric functions.
How do I use logarithmic functions in MATLAB?
The first function that is presented is the log()
function. This
function is only for the natural logarithm.
The inverse of a natural log function is the exponential function. You
cannot use log^-1
in MATLAB to find the inverse of a natural
log. The function to find the value of an exponential function is
exp()
.
Example 1
Find the natural log of 4 and 0.2, and name these outputs \(y1\) and \(y2\), respectively. Find the value of the exponential function of both \(y1\) and \(y2\), and examine the results.
Solution
Note that when typing the function exp(num), it cannot be substituted by exp^num, as this will give you a syntax error as given below.
??? Error using ==> exp
Not enough input arguments.
What about a logarithm that is not natural?
Besides the natural logarithm, one of the most common logarithms is log
with the base 10. The function to find a log with a base of 10 is
log10()
.
To find the value of a logarithm that does not have a base of 10 or e (natural log), you may use the change of base formula. To simplify the m-file when using the change of base formula, it is recommended that you use natural logs to change the base. The formula for the log of b with the base a is,
\[ \text{log}_{a}(b)=\frac{\text{ln}(b)}{\text{ln}(a)} \]
Example 2
Using MATLAB, find:
(a) \(\text{log}_{10}(3)\)
(b) \(\text{log}_{8}(3)\)
Use the fprintf() function to describe the outputs in the Command Window. Hint: Consider using the change of base formula for part (b).
Solution
Note the different code used for finding the natural log (Example 1) and the log with a different specified base (Example 2). The functions for natural log, exponential function, and log10 can all be found in Table 1 at the end of this lesson.
How can MATLAB evaluate trigonometric functions?
MATLAB has several trigonometric functions. However, note that the input for these trigonometric functions is in radians: not degrees.
The function to find the cosine of an angle is cos()
. This function
assumes an input of an angle in radians. The functions for sine,
tangent, cosecant, secant, and cotangent are sin()
, tan()
, csc()
,
sec()
, and cot()
, respectively. These functions have the same inputs
and usage as the cos()
function shown above (see Table 1).
If you wish to input the argument to a trigonometric function in
degrees, attach a d to the end of the function. For example, to find the
value of the cosine of 30 degrees, you may type, cosd(30)
.
Example 3
A right-angled triangle ABC, shown in Figure 3, with \(x = 50^{\circ}\) and \(\overline{\text{AB}}\) = 3 is given.
(a) Convert x to radians.
(b) Find \(\overline{\text{BC}}\).
(c) Find \(\overline{\text{AC}}\).
(d) What is the sum of \(\angle\)BAC and \(\angle\)ABC in degrees?
Figure 1: The Command Window output for Example 3.
All outputs should be displayed in the Command Window using the
fprintf()
or disp()
functions.
Solution
Notice, in the example code, that MATLAB stores the numeric value of
\(\pi\) in the predefined variable pi
. Also take a look at the method to
convert the value of x from degrees to radians for part a (if you are
not familiar with it). Be sure that the argument for all applicable
trigonometric functions is in radians or add a d for degrees (e.g.,
sind(30)
) as mentioned previously.
Lesson Summary of New Syntax and Programming Tools
Task | Syntax | Example Usage |
---|---|---|
Find the natural log of a number | log() |
log(a) |
Evaluate the exponential function at a number | exp() |
exp(a) |
Log with base 10 | log10() |
log10(a) |
Sine of an angle | sin() |
sin(a) |
Cosine of an angle | cos() |
cos(a) |
Tangent of an angle | tan() |
tan(a) |
Cosecant of an angle | csc() |
csc(a) |
Secant of an angle | sec() |
sec(a) |
Cotangent of an angle | cot() |
cot(a) |
Sine inverse of a number | asin() |
asin(a) |
Cosine inverse of a number | acos() |
acos(a) |
Tangent inverse of a number | atan() |
atan(a) |
4 quadrant tan inverse complex number | atan2() |
atan2(Im,Re) |
Multiple Choice Quiz
(1). The function for finding the natural log of a number is
(a) ln()
(b) log()
(c) loge()
(d) nlog()
(2). The function for finding the exponential function of a number is
(a) e()
(b) e\^()
(c) exp()
(d) exp\^()
(3). The function to find the value of sin(a) where a is \(34^\circ\), is
(a) sin(34)
(b) sine(34)
(c) sin((34\*180)/pi)
(d) sin((34\*pi)/180)
(4). The function acos()
(a) determines if the cosine value can be evaluated.
(b) evaluates the cosine of an angle in degrees.
(c) evaluates the cosine of an angle in radians.
(d) evaluates the inverse cosine of an argument.
(5). The sind()
function
(a) determines if the sine value can be evaluated.
(b) evaluates the inverse sine of an argument.
(c) evaluates the sine of an angle given in degrees.
(d) evaluates the sine of an angle given in radians.
Problem Set
(1). Given that \(a=7\), \(b=2\), and \(c=11\), using MATLAB, find the values of
(a) \(\text{log}_{10}(b)\)
(b) \(b\text{ln}(c)\)
(c) \(e^{-\frac{a}{2}}\)
(d) \(\text{log}_2(a)\)
Output each solution to the Command Window, and check your results using a calculator.
(2). The approximate value of \(e^x\) (exponential function) can be found by using a finite number of terms of the following infinite Maclaurin series,
\[e^x = 1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\text{...} \]
for all \(x\).
Complete the following using \(x=2.3\):
(a) Compare the output of the first 3 terms for the Maclaurin series for exponential function against the MATLAB output for the exponential function.
(b) Redo part (a) using first 6 terms of the Maclaurin series.
Make sure to use the fprintf()
or disp()
functions to display your
program outputs in the Command Window.
(3). Given the triangle ABC, shown in Figure A, with angles \(\theta_1 = \frac{\pi}{8}\text{ radians,}\ \theta_{2} = \text{34}^\circ\text{, and length }\overline{\text{AB}} = 11\), find the following.
(a) \(\theta_3\) in degrees
(b) \(\overline{\text{BC}}\)
(c) \(\overline{\text{AC}}\)
(d) area of triangle ABC
Hint: The law of cosines is given as
\[\frac{\overline{\text{AB}}}{\sin(\theta_1)} = \frac{\overline{\text{BC}}}{\sin(\theta_2)} = \frac{\overline{\text{AC}}}{\sin(\theta_3)}\]
The area of a triangle is
\[A = \sqrt{s(s-a)(s-b)(s-c)}\]
where s = semi-perimeter of the triangle and a, b, c = length of the three sides of the triangle
Figure A: Labeled triangle ABC is shown (not to scale).
Output each solution to the Command Window and verify your results >
with a calculator. Make sure to use the fprintf()
or disp()
functions > to display your program outputs in the Command Window.
(4). The approximate value of \(\text{sin}(x)\) can be calculated using a finite number of terms of the following infinite Maclaurin series
\[ \text{sin}(x) \approx x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} \] for all x. Complete the following using \(38^\circ\)
(a) Compare the output of the first 3 terms of the Maclaurin series
provided, against the MATLAB output for the sine
command.
(b) Redo part (a) using the first 5 terms of the series.
Make sure to use the fprintf()
or disp
()` functions to display your
program outputs in the Command Window.
(5). The mechanical components of a certain suspension system dynamically respond to an applied force by vibration. The actual position, x(t), of the center of mass of the system as a function of time, t, is given by,
\[ x(t)=Xe^{\xi{}\omega{}_{\text{n}}t}(\text{cos}(\sqrt{1-\xi{}^2}\omega{}_{\text{n}}t)) \]
Ideally, the center of mass would follow the following position function,
\[ x(t)=Xe^{-\xi\omega{}_{\text{n}}t} \]
Given that \(X=2,\) \(f_{\text{n}}=1.3\) \(\omega_{\text{n}}=2\pi{}f_{\text{n}}\) \(\xi=0.1\)
Plot the actual and the ideal position of the system as a function of time. Use a legend, give axis and graph titles, and use reasonable line thicknesses and symbols. Plot the position for the time from 0 to 8 seconds in a single plot where the horizontal axis is the time and the vertical axis is the position of the center of mass.