Top Banner
Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7
36

Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Matlab Basics

IEF 217a: Lecture 2

Fall 2002

Sigmon and Davis, chapters 1-7

Page 2: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Loading Software

MatlabFollow matlab instructions for your own machine

DownloadsWe will eventually be downloading various

matlab programs and data from the website

Page 3: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Matlab Basics

Math Operations

Variables

Vectors

Functions

Fancy subscripts

Program files

Page 4: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Math Operations

Super calculator

+,-,*,/,^, ()

Page 5: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Variables

x = 1

1+x

x = 10

y = 20

x*y

The importance of ; (no printing)

x = 1;

Page 6: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Vectors

In matlab variables can be vectorsVector = list of numbers

x = [1 5 2 1 5];

2*x

x+1

Page 7: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Generating Vectors

: operator

1:10

1:2:10

60:-1:35

x = 1:5;

Page 8: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Parts of Vectors

x(2)

x(10)

x(b)

x(10:15), x(20:end)

Page 9: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Vector Operations(dot operators)

x = [1 2 3];

y = [ 2 1 3];

x .* y

x ./ y

x .^ y

Page 10: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Matrices

x = [1 2 3; 4 5 6];

x = 1 2 3

4 5 6

rows = 2, columns = 3

Page 11: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

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

Page 12: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Functions

Scalar functions: f(x)

log(x), exp(x), sqrt(x)

sin(x), cos(x), tan(x)

Vector functionssum(x), mean(x), median(x)

Page 13: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

More Functions

plot(x)

plot(x,’*’);

Most important function!!!!Help

help functionname

help plot

Page 14: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Programs (mfiles)

Execute commands in a file

filename.m

Edit using matlab editor (colors)

Examples:

Page 15: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Conditions

>, <, >=, <=, ==, ~=

x > 5

x < 10

Page 16: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

If conditions

if (x>1)

x = x/2;

end

Page 17: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

If/else

if (x<0)

x = x+1;

else

x = -1*x;

end

Page 18: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

For loops

for j = [1 2 3]

x(j) = j+1;

end

Page 19: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

For Loops

for j = 1:10

x(j) = 2^j;

end

also

x = 2.^(1:10);

Page 20: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

For Loops

Useful for dealing with arrays

Costly in terms of computer time

Page 21: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

While Loops

x = 20;

y = 0;

while (x>3)

y = y+sqrt(x);

x = x-5;

end

Page 22: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

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

Page 23: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

If’s With Vectors

if (a~=b)

disp(‘a not equals b’)

end

True if every element of a is not equal

Page 24: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

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

Page 25: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Fancy Subscripts (find function)

x = [5 2 –3 –4 1];

y = x(find(x<0);

all x values greater than zero put in y

k = find(x<0);

k = subscripts

k = [ 3 4];

Page 26: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Program Files

Filename.m

test.m

type: test

Page 27: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Important: Comment Lines

Lines starting with % are comments

x = 1;

y = 2;

z = x*y;

% this really is not doing very much

Page 28: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

User Functions

Define your own functions

Very important and powerful

Page 29: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Function file (positives.m)

function count = positives(x)

% usage: count = positives(x)

% x = vector

% count = number greater than zero

count = sum(x>0);

Page 30: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Fancy function stuff

Multiple returns

function [ count, count2] = positives(x)

count = sum(x>0);

count2 = sum(x>2);

Page 31: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Fancy function stuff

Calling functions as strings:

z = feval(‘log’,5)

Page 32: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Getting and Storing Results

diary filename

(all results to filename)

diary off

(stop)

Page 33: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Load

load x.dat

File x.dat =

1 2 3

4 5 6

Same thing in matrix x

x file must be matrix

Page 34: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Save

save

(saves everything to file matlab.mat)

load

(restores all settings)

useful for taking a break, and starting where you left off

Page 35: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Save

save filename x y z

(save to filename.mat variables x, y, z)

save filename x y z –ascii

(save in ascii format)

Page 36: Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.

Summary

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