You are on page 1of 33

CHE338_Lecture#1

MATLAB Tutorial

For reading
Reference Chapter Page
Chapra Appendix 1 933-940

http://www.mathworks.com/academia/student_center/tutorials/launchpad.
html

http://www.mathworks.com/help/techdoc/learn_matlab/bqr_2pl.html

1
Objectives

To explain the MATLAB interface

To illustrate basic operations and commands

To give examples of scripts and functions

2
MATLAB Interface

Command Window (performing all


perations)

3
MATLAB Interface

To make your own layout:

ADD or delete and arrange the desktop components.

Save your layout.

To change the current directory and make folders:

Demonstration:
4
To make your own layout

Editor (writing scripts and build functions)

5
Introduction Documents

From the reference books

Reference Chapter Page


Alkis Appendix 1 531-544

From WWW
http://www.mathworks.com/academia/student_center/tutorials/launchpad.
html

http://www.mathworks.com/help/techdoc/learn_matlab/bqr_2pl.html

6
Introduction documents for self-learning

From the MATLAB Interface:

Use the Help menu

From the Command Window:

>> help :the most important command to get


Information on commands and built-in
functions; displays its definition, shows how
to use it, lists functions related and links to
their doc.

>> help print : this displays information on print

>> doc print 7


How to create and define variables

To define variables (scalars, vectors, and matrixes),


simply give a value to name with equal sign:

>> a=3 For vectors, use [..]


>> a=5 >> c=[1 2 3]
>> c=[1,2,3]
For complex, use i or j >> d=[1;2;3]

>> comp=2+3i Also, use :


>> e=1:10
>> f=1:2:10
For matrixes

>> e=[1 2 3;1 2 3] or >>e=[1 2 3


1 2 3]
8
Variables

For vectors and matrixes:

>> variable name (ii,jj)= value


ii indicates row elements and jj = column elements

>> g1(1,1)= 1
>> g1(1,2)= 2
g1= 1 2 3 >> g1(1,3) =3

>> g1(1)=1
>> g1(2)=2
>> g1(3)=3

9
Variables

For vectors and matrixes:

>> variable name (ii,jj)= value


ii indicates row elements and jj = column elements

1
>> g2(1,1)=1
2 = 2 >> g2(2,1)=2
3 >> g2(3,1)=3

>> g4(1,1)= 1
1 2 >> g4(1,2)= 2
3 =
3 4 >> g4(2,1) =3
>> g4(2,2) =4
10
Variables

For vectors and matrixes:

>> variable name (ii,jj)= value


ii indicates row elements and jj = column elements

1
>> g2(1,1)=1
2 = 2 >> g2(2,1)=2
3 >> g2(3,1)=3

>> g4(1,1)= 1
1 2 >> g4(1,2)= 2
3 =
3 4 >> g4(2,1) =3
>> g4(2,2) =4
11
Variables

For vectors and matrixes:

>> variable name (ii,jj)= value


ii indicates row elements and jj = column elements

What happens if you write

>> g5 (4,4) = 4

12
Variables

For vectors and matrixes:

>> variable name (ii,jj)= value


ii indicates row elements and jj = column elements

What happens if you write

>> g6 (1:10,1:10) = 4

13
Variables

Matrixes can be combined to form a new matrix

>>f=[c;c]

>>g=[f,f]

14
Variables

To define character variables: use single quotes and equal


sign.
>> k=rilla
Case sensitive; a and A are recognized as different
variables
First character should be a letter

To save your variables (results): use save


>> save filename variables
>>save lecture1 a b c

To load the file


>>load filename; >> load lecture1
15
Variables

To clear variables from the Workspace:


>> clear variable; >> clear a b c or >>clear all
To clear the Command Window:
>>clc

Built-in variables: Some useful commands:


i and j
size( )
pi
Length ()
ans
who
Inf and Inf
whos
NaN 16
Basic operations and commands

Mathematical functions: *,-,+,/,\, and ^

+ Additional operator
- Subtraction operator
* Multiplication
/ Right division
\ Left division
^ Exponentiation
Scalar to scalar operations and scalar to matrix operations
are straightforward
>>2+3/4*(5/3)^(2/3)
>>a=[1 2 3]
>>3*a
>>a/3
17
Basic operations and commands
Addition and subtraction of matrix operations are similar to
scalars, however their sizes must match: a(1x3) - b(3x1)
gives an error;

>>a=[1,2,3]
>>b=[1;2;3]
>>c=a-b

For multiplication, inner dimensions must match:


a(1x3)*a(1x3) gives an error;
>> d=[ 1 2; 1 2]
>> c=a*a
>> dd=d*d
>> c=a*b
>>d2=d^2

18
Basic operations and commands

To perform element-by-element operations, you must use


the period . before operators, and both dimensions must
be the same;

>>a=[1 2 3]
>>b=a
>>c=a.*b
>>d=a.^2

How about?
>>c=a*b
>>d=a^2

19
Basic operations and commands
Other useful operation functions:

log dot(A,B)
sqrt cross(A,B)
exp inv(A)
det(A) transpose(A)
eig(A) sum(A)
prod(A)

>> a = (1 2 3)
>> prod(a)
>> b = [ 1 2 3
0 2 5]
>> prod(b)

20
Basic operations and commands
Other useful operation functions:

rand(N) or rand(N,M)
zeros(N) or zeros(N,M)
ones(N) or ones(N,M)
nan(N) or nan(N,M)

>> rand(4)
>> zeros(4)
>> rand(4,4)
21
Editor for scripts and functions

Where you write a sequence of


commands executed to run programs.
Also, you can create functions.
Saved as *.m file
22
Editor for scripts

% : at beginning of a sentence in order to write comments


; : at end of each line to avoid printing all values

% Script example file


R=8314; % gas constant
t=input('temperature=')
p=input('pressure=')*1e5
v=R*t/p; % ideal gas law
save vol v

Saved in the current directory as *.m file.

23
Flow control

Relational operators:
eq - Equal ==
ne - Not equal ~=
lt - Less than <
gt - Greater than >
le - Less than or equal <=
ge - Greater than or equal >=

>> 1 ==1

>> eq(1,1)

24
Flow control: conditional statement

if (condition)
x=1
statements
to be executed if x>0
y=x*2;
end end

25
Flow control: conditional statement

if (condition) x=1; if (condition)


statements
statements if x<0 to be executed
to be y=x*2;
executed elseif
else statements
else x = 4; to be executed
end
statements else
to be statements
executed to be executed

end end
26
Flow control: loop statement

for (condition) for ii =1:2

statements ii
to be executed end % If ii = the last number, then
get out of the loop
end

for ii =1:10 for ii=1:2:10 for


ii=1:2.5:10
ii ii
end end ii
end
27
Flow control: loop statement

for (condition) while (condition)

statements statements
to be executed to be executed

end end

x=0 x=0
for ii=1:10 while x < 10
x=x+1 x=x+1
end end

save add x

28
Flow control: loop statement

for (condition) while (condition)

statements statements
to be executed to be executed

end end

x=0 x=0
for ii=1:10 while x < 10
x=x+1 x=x+1
end end

save add x

29
Flow control: double loop statement

for (condition)
for (condition) for ii =1:2
for jj = 1:2
statements ii
to be executed jj
end
end end
end

30
Flow control: create a matrix using a double loop statement

for ii =1:2
for jj = 1:2

z(ii,jj) = ii + jj

end
end

31
Functions

There are many built-in functions in MATLAB, however you


can still build your own functions for your programs to run;

function [output]=function name[input]

function v=myfunction(t,p) %for single output variable


%you dont need the square brackets.

function [v,w,z]=myfunction(t,p)

Save as function name.m file; myfunction.m

32
Example on function

function v=myfunction(t,p)
%function test
%this calculates the specific volume of an ideal gas

R=8314;
v =R*t/p;
end

p=10; t=10;
Vol=myfunction(t,p)

pp=10; tt=10;
vol2=myfunction(tt,pp)
33

You might also like