Sei sulla pagina 1di 34

CHE338_Lecture#1

MATLAB Tutorial
For reading
Reference
Chapra

Chapter
Appendix 1

Page
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

MATLAB Interface

Command Window (performing all


operations)

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)

Introduction Documents
From the reference books

Reference
Alkis

Chapter
Appendix 1

Page
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

Introduction documents for self-learning


From the MATLAB Interface:

Use the Help menu

From the Command Window:


>> help

:the most important function to get


Information on 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:
For vectors, use [..]

>> a=3
>> a=5
For complex, use i or j

>> c=[1 2 3]
>> c=[1,2,3]

>> comp=2+3i
>> d=[1;2;3]
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 2 3

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

Variables
For vectors and matrixes:
>> variable name (ii,jj)= value
ii indicates row elements and jj = column elements

2 =

1
2
3

1
3 =
3

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

2
4

>> g4(1,1)= 1
>> g4(1,2)= 2
>> 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

2 =

1
2
3

1
3 =
3

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

2
4

>> g4(1,1)= 1
>> g4(1,2)= 2
>> 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]
Use the colon to generate a row vector;
>> h=1:10
You can control the increment by adding a value
between
>>h=1:0.5:10
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:
i and j
pi
ans
Inf and Inf
NaN

Some useful functions:


size
length = max(size( ))
who
whos
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;
>> c=a*a
>> c=a*b

>> d=[ 1 2; 1 2]
>> dd=d*d
>>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
sqrt
exp
det(A)
eig(A)

dot(A,B)
cross(A,B)
inverse(A)
transpose(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
and 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

end

end

y=x*2;

25

Flow control: conditional statement


if (condition)

x=1;

statements
to be
executed

if x<0

if (condition)
statements
to be executed

y=x*2;
else

else

x = 4;

elseif
statements
to be executed

end
statements
to be
executed

else
statements
to be executed

end

end
26

Flow control: loop statement

for (condition)

for ii =1:2

statements
to be executed

ii
end % If ii = the last number, then
get out of the loop

end
for ii =1:10

for ii=1:2:10

ii
end

ii
end

for
ii=1:2.5:10

ii
end
27

Flow control: loop statement


for (condition)

while (condition)

statements
to be executed

statements
to be executed

end

end

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

x=0
while x < 10
x=x+1
end

save add x
28

Flow control: loop statement


for (condition)

while (condition)

statements
to be executed

statements
to be executed

end

end

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

x=0
while x < 10
x=x+1
end

save add x
29

Flow control: double loop statement

for (condition)
for (condition)
statements
to be executed
end
end

for ii =1:2
for jj = 1:2
ii
jj
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;

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

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

Summary

MATLAB Interface

Basic operations and commands

Scripts and functions using the Editor

34

Potrebbero piacerti anche