Presentation is loading. Please wait.

Presentation is loading. Please wait.

Matlab Basics FIN250f: Lecture 3 Spring 2010 Grifths Web Notes.

Similar presentations


Presentation on theme: "Matlab Basics FIN250f: Lecture 3 Spring 2010 Grifths Web Notes."— Presentation transcript:

1 Matlab Basics FIN250f: Lecture 3 Spring 2010 Grifths Web Notes

2 Loading Software  Matlab  Follow matlab instructions for your own machine  Downloads  We will eventually be downloading various matlab programs and data from the website

3 Matlab Basics  Math Operations  Variables  Vectors  Functions  Fancy subscripts  Program files

4 Math Operations  Super calculator  +,-,*,/,^, ()

5 Variables  x = 1  1+x  x = 10  y = 20  x*y  The importance of ; (no printing)  x = 1;

6 Vectors  In matlab variables can be vectors  Vector = list of numbers  x = [1 5 2 1 5];  2*x  x+1

7 Generating Vectors  : operator  1:10  1:2:10  60:-1:35  x = 1:5;

8 Parts of Vectors  x(2)  x(10)  x(b)  x(10:15), x(20:end)

9 Vector Operations (dot operators)  x = [1 2 3];  y = [ 2 1 3];  x.* y  x./ y  x.^ y

10 Matrices  x = [1 2 3; 4 5 6];  x = 1 2 3  4 5 6  rows = 2, columns = 3

11 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

12 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)

13 More Functions  plot(x)  plot(x,'*');  Most important function!!!!  Help  help functionname  help plot

14 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)

15 Programs (mfiles)  Execute commands in a file  filename.m  Edit using matlab editor (colors)  Examples:

16 Conditions  >, =, <=, ==, ~=  x > 5  x < 10

17 If conditions  if (x>1)  x = x/2;  end

18 If/else  if (x<0)  x = x+1;  else  x = -1*x;  end

19 For loops  for j = [1 2 3]  x(j) = j+1;  end

20 For Loops  for j = 1:10  x(j) = 2^j;  end  also  x = 2.^(1:10);

21 For Loops  Useful for dealing with arrays  Costly in terms of computer time

22 While Loops  x = 20;  y = 0;  while (x>3)  y = y+sqrt(x);  x = x-5;  end

23 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

24 If’s With Vectors  if (a~=b)  disp(‘a not equals b’)  end  True if every element of a is not equal

25 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

26 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];

27 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

28 Important: Comment Lines  Lines starting with % are comments  x = 1;  y = 2;  z = x*y;  % this really is not doing very much

29 Getting and Storing Results  diary filename  (all results to filename)  diary off  (stop)

30 Load  load x.dat  File x.dat =  1 2 3  4 5 6  Same thing in matrix x  x file must be matrix

31 Save  save  (saves everything to file matlab.mat)  load  (restores all settings)  useful for taking a break, and starting where you left off

32 Save  save filename x y z  (save to filename.mat variables x, y, z)  save filename x y z -ascii  (save in ascii format)

33 User Functions  Define your own functions  Very important and powerful

34 Function file (positives.m)  function count = positives(x)  % usage: count = positives(x)  % x = vector  % count = number greater than zero  count = sum(x>0);

35 Fancy function stuff  Multiple returns  function [ count, count2] = positives(x)  count = sum(x>0);  count2 = sum(x>2);

36 Summary  We will see many more of these matlab related commands as we make use of them


Download ppt "Matlab Basics FIN250f: Lecture 3 Spring 2010 Grifths Web Notes."

Similar presentations


Ads by Google