Matlab Basics by lr8cj8E

VIEWS: 4 PAGES: 36

									 Matlab Basics

FIN285a: Lecture 2.1
      Fall 2010
 Grifths Web Notes
         Loading Software
Matlab
 Follow matlab instructions for your own
 machine
Downloads
 We will eventually be downloading various
 matlab programs and data from the
 website
         Matlab Basics
Math Operations
Variables
Vectors
Functions
Fancy subscripts
Program files
       Math Operations
Super calculator
+,-,*,/,^, ()
             Variables
 x=1
 1+x
x = 10
y = 20
 x*y
The importance of ; (no printing)
x = 1;
               Vectors
In matlab variables can be vectors
  Vector = list of numbers
x = [1 5 2 1 5];
2*x
x+1
      Generating Vectors
: operator
1:10
1:2:10
60:-1:35
x = 1:5;
       Parts of Vectors
x(2)
x(10)
x(b)
x(10:15), x(20:end)
       Vector Operations
        (dot operators)
 x = [1 2 3];
 y = [ 2 1 3];
x .* y
x ./ y
x .^ y
               Matrices
x = [1 2 3; 4 5 6];

x= 1 2 3
   4 5 6

rows = 2, columns = 3
       Parts of Matrices
 x= 1 2 3
       4 5 6
x(row, column)
 x(2,1) = 4
 x(2,:) = 4 5 6
 x(1,1:2) = 1 2
             Functions
Scalar functions: f(x)
log(x), exp(x), sqrt(x)
sin(x), cos(x), tan(x)

Vector functions
  sum(x), mean(x), median(x)
         More Functions
plot(x)
plot(x,'*');
Most important function!!!!
  Help
help functionname
help plot
    Even More Functions
zeros(m,n) : returns a matrix of zeros
ones(m,n) : returns a matrix of ones
rand(m,n) : returns a matrix of uniform
[0,1] random numbers
randn(m,n) : returns a matrix of normal,
mean 0, variance 1, random numbers
(Note: We will often use my own function
normal instead of randn)
       Programs (mfiles)
Execute commands in a file
   filename.m
Edit using matlab editor (colors)
Examples:
            Conditions
>, <, >=, <=, ==, ~=

x>5
x < 10
               If conditions
if (x>1)
    x = x/2;
end
               If/else
if (x<0)
    x = x+1;
else
  x = -1*x;
end
             For loops
for j = [1 2 3]
   x(j) = j+1;
end
                For Loops
for j = 1:10
  x(j) = 2^j;
end

also
x = 2.^(1:10);
            For Loops
Useful for dealing with arrays
Costly in terms of computer time
           While Loops
x = 20;
y = 0;
while (x>3)
   y = y+sqrt(x);
 x = x-5;
end
       If’s With Vectors
if (a==b)
   disp(‘a equals b’)
end

What if a and b are vectors?
True if every element of a equals every
element of b
       If’s With Vectors
if (a~=b)
   disp(‘a not equals b’)
end

True if every element of a is not equal
               Any and All
if any(a==b)
    disp(‘at least one equal’)
end

if all(a==b)
     disp(‘all are equal’)
end
For matrices this gets more complicated
   Fancy Subscripts (find
         function)
x = [5 2 -3 -4 1];
y = x(find(x<0));

all x values less than zero put in y
k = find(x<0);
k = subscripts
k = [ 3 4];
       Fancy Subscripts
x = [5 2 -3 -4 1];
y = x(x<0);
all x values less than zero put in y
k = x<0;
k = [0 0 1 1 0];
y = x(k) = [-3 -4]
s = sum(k) = 2
Important: Comment Lines
Lines starting with % are comments

x = 1;
y = 2;
z = x*y;
% this really is not doing very much
Getting and Storing Results

diary filename
(all results to filename)
diary off
(stop)
               Load
load x.dat
File x.dat =
123
456

Same thing in matrix x
x file must be matrix
                Save
save
(saves everything to file matlab.mat)
load
(restores all settings)
useful for taking a break, and starting
where you left off
                Save
 save filename x y z
(save to filename.mat variables x, y, z)

save filename x y z -ascii
(save in ascii format)
        User Functions
Define your own functions
Very important and powerful
Function file (positives.m)
function count = positives(x)
% usage: count = positives(x)
% x = vector
% count = number greater than zero
count = sum(x>0);
     Fancy function stuff
Multiple returns

function [ count, count2] = positives(x)
count = sum(x>0);
count2 = sum(x>2);
           Summary
We will see many more of these matlab
related commands as we make use of
them

								
To top