Transcript lecture24

Lecture 24: Rough and
Ready Analysis
MATLAB uses function names consistent
with most major programming languages
For example




sqrt
sin
cos
log
Function Input can be either
scalars or matrices
Function Input can be either
scalars or matrices
Some functions return multiple
results
size function determines the number of
rows and columns
You can assign names to the
output
Nesting Functions
There are functions for almost
anything you want to do
Use the help feature to find out what
they are and how to use them


From the command window
From the help selection on the menu bar
Elementary Math Functions
abs(x)
sign(x)
exp(x)
log(x)
log10(x)
absolute value
plus or minus
ex
natural log
log base 10
Rounding Functions
round(x)
fix(x)
floor(x)
ceil(x)
Discrete Mathematics
factor(x)
gcd(x,y)
lcm(x)
rats(x)
factorial(x)
primes(x)
isprime(x)
greatest common denominator
lowest common multiple
represent x as a fraction
Trigonometric Functions
sin(x)
cos(x)
tan(x)
asin(x)
sinh(x)
asinh(x)
sind(x)
asind(x)
sine
cosine
tangent
inverse sine
hyperbolic sine
inverse hyperbolic sine
sine with degree input
inverse sin with degree
output
Data Analysis
max(x)
min(x)
mean(x)
median(x)
sum(x)
prod(x)
sort(x)
When x is a matrix,
the max is found for
each column
max value
element number
where the max
value occurs
Returns both the smallest value in a vector x and
its location in vector x.
Vector of maximums
Vector of row numbers
Returns a row vector containing the minimum element
from each column of a matrix x, and returns a row
vector of the location of the minimum in each column
of matrix x.
Determining Matrix Size
size(x)
length(x)
number of rows and
columns
biggest dimension
Variance and Standard
Deviation
std(x)
var(x)
N
 
2
 x
k 1
 
2
k
N 1
Random Numbers
rand(n)

Returns an n by n matrix of random
numbers between 0 and 1
rand(n,m)

Returns an n by m matrix of random
numbers
These random numbers are
evenly distributed
Manipulating Matrices
• Defining matrices
• A matrix can be defined by typing in a list of numbers
enclosed in square brackets.
• The numbers can be separated by spaces or
commas.
• New rows are indicated with a semicolon.
A = [ 3.5 ];
B = [1.5, 3.1]; or B =[1.5 3.1];
C = [-1, 0, 0; 1, 1, 0; 0, 0, 2];
Manipulating Matrices
• Defining matrices
• Define a matrix by using another matrix that has
already been defined.
B = [1.5, 3.1];
S = [3.0, B]
S = [3.0, 1.5, 3.1];
T = [1 2 3; S]
• Reference an element in a matrix
• Both row and column indices start from 1.
S=
T=
3.0 1.5 3.1
1
2 3
3.0 1.5 3.1
S(2)
T(2, 3)
T(5)
The element value on row 2 and column 3 of matrix T
Count down column 1, then down column 2, and finally
down column 3 to the correct element of matrix T.
Manipulating Matrices
• Change values in a matrix
• S(2) = -1.0;
S=
T=
changes the 2nd value in the matrix S
from 1.5 to -1.0
3.0 1.5 3.1
1
2 3
3.0 1.5 3.1
• Extend a matrix by defining new elements.
S(4) = 5.5;
Extend the matrix S to four elements instead of three.
S(8) = 9.5;
Matrix S will have eight values, and the values of S(5), S(6), S(7) will be
set to 0.
T(3, 3) = 10;
T(4, 5) = 20;
Manipulating Matrices
• Using the colon operator
• Define an evenly spaced matrix
H = 1:8 --- The default spacing is 1
time = 0.0:0.5:3.0 --- The middle value becomes the spacing.
• Extract data from matrices
M=
x = M( :, 1) --- extract column 1 from matrix M
12345
23456
y = M( :, 4) --- extract column 4 from matrix M
34567
z = M(2, : ) --- extract row 2 from matrix M
a = M(2:3, : ) --- extract rows 2 and 3 from matrix M
b = M( :, 2:4) --- extract column 2 to column 4 from matrix M
c = M(2:3, 3:5) --- extract not whole rows or whole columns
from matrix M
• Converts a two dimensional matrix to a single column
M( : )
Practice Question
Q. Wh at is the output of the followin g progra m?
int main (void) {
int magicNumber = 25;
if ( magicNumber < 70 ) {
printf("The number is a bit low ... ");
}
if ( magicNumber > 100 ) {
printf("The number is way too high ... ");
}
if ( magicNumber = 77 ) { /* note the single equal sign! */
printf("77 is a very lucky number. ");
}
if (magicNumber > 70 ) {
printf("At least you are not TOO low.");
}
}
Solution: C
a.) The number is a bit low ...
b.) The number is a bit low ... 77 is a very lucky number.
c.) The number is a bit low ... 77 is a very lucky number. At least you are not TOO low.
d.) The number is a bit low ... At least you are not TOO low.
e.) The number is way too high Ι