36
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

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

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

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 vectorsVector = 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 functionssum(x), mean(x), median(x)

More Functions

plot(x)

plot(x,’*’);

Most important function!!!!Help

help functionname

help plot

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 greater than zero put in y

k = find(x<0);

k = subscripts

k = [ 3 4];

Program Files

Filename.m

test.m

type: test

Important: Comment Lines

Lines starting with % are comments

x = 1;

y = 2;

z = x*y;

% this really is not doing very much

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

Fancy function stuff

Calling functions as strings:

z = feval(‘log’,5)

Getting and Storing Results

diary filename

(all results to filename)

diary off

(stop)

Load

load x.dat

File x.dat =

1 2 3

4 5 6

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)

Summary

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