*** 1

advertisement
CIVL 5320
Thomas Ng
1
 What is Matlab?
 MATrix LABoratory
 A high-performance language for technical computing
 An easy-to-use interactive environment for computation,
visualization and programming
2
 Interactive: Direct key in command after “>>”
 >> help
 >> lookfor CCChang
 Off-line: Put all commands into a m-file (name.m)
and execute the file as follows
 >> name (without suffix .m)
 All commands in the file will be executed sequentially
 The m-file has to be in the current directory or
directories set by “pathtool”
3
 mat-file (name.mat): Contains pre-defined variables,
vectors and matrices
 >> save name
Save all variables into a file called name.mat
 >> save name CCChang is wonderful
Save variables, vectors or matrices “CCChang”, “is” and
“wonderful” into a file called name.mat
 >> load name
Load all variables in the name.mat to the MATLAB registry
4
 Do the followings




>> help help
>> help lookfor
>> help plot
>> lookfor plot
 Put sdof.m and elcen.mat into the current directory







>> sdof
>> whos
>> save temp
>> clear all
>> whos
>> load temp
>> whos
 Create a m-file that contains the above commands and run the
m-file
5
 Sequence of operations
 >> CCChang
 Is CCChang a variable? If not, next
 Is CCChang a built-in function? If not, next
 Is CCChang a m-file? If not, next
 ??? Undefined function or variable 'CCChang‘
 Some useful commands
 Interrupting running the program: Ctrl+c
 Long command: …
>> x=sin(1)+1+cos(2)+sin(2)+ sin(2)+...
sin(4)+ sin(5)+ sin(6)+ sin(7)
 Suppress echo: ;
 Comment: %
6
 Some useful commands
 >> Clear
>> Close
 Scalar, vector and matrix
>> a=321 % A  a
>> Rowvector = [12 14 63]
>> Colvector= [13; 45; -2]
>> Matrix= [1 2 3; 4 5 6; 7 8 9]
>> sub_matrix= Matrix( 1:2 , 2:3)
 >> A=123




7
 Do the followings









>> A=123
>> A=123
%This is fun!
>> A=123;
>> x=sin(1)+1+cos(2)+sin(2)+ sin(2)+...
sin(4)+ sin(5)+ sin(6)+ sin(7)
>> ColA=[1 ; 2 ; 3]
>> RowA=[1 2 3]
>> GuessA=[1:10]
>> GuessB=[1:3:10]
>> GuessC=[1:10]’
8
 >> CC=[1 2 3; 4 5 6; 7 8 9]
 >> CC=[1:3; 4:6; 7:9]
 >> subCC1=CC(1:2, 2:3)
 >> subCC2=CC(: , 2:3)
 >> subCC3=CC(1:2, :)
% what do you expect?
% what do you expect?
% what do you expect?
 >> clear all
9
Matrix
operation
Power
Multiplication
Division
or
NOTE:
^ or .^ a^b
* or .* a*b
/ or ./ a/b
\ or .\ b\a
56/8 = 8\56
- (unary) + (unary)
Addition
+
Subtraction
Assignment
=
or
or
or
or
a.^b
a.*b
a./b
b.\a
Element by element
operation
a + b
a - b
a = b
(assign b to a)
10
ans
pi
inf
NaN
i and j
eps
realmin
realmax
Default variable name for results
Value of 
Not a number e.g. 0/0
i = j = 1
Smallest incremental number
The smallest usable positive real number
The largest usable positive real number
11
Command
Description
eye
Identity matrix
zeros
Zeros array
norm
Norm of vector or matrix
det
Matrix determinant
eig
Eigenvalues and eigenvectors
lsim
Simulate response of LTI models
for … end
Repeat statements (do loop)
demo
Run demonstrations
Many many more!
Toolboxes contain specialized commands
12
 Do the followings
 >> RowA=[1 2 3]; ColA=[1 ; 2 ; 3];
 >> RowA*ColA
 >> ColA*RowA
 >> ColA.*RowA
 >> ColA.*RowA’
 >> RowA.*ColA
 >> RowA.*ColA’
 >> RowA./ColA
 >> RowA./ColA’
13
 >> CC=[1 2; 3 4]
 >> det(CC)
 >> eye(2)
 >> zeros(2,2)
 >> DD=[CC zeros(2,2); zeros(2,2) eye(2)]
14
 Figure control




>> figure(x)
% Create/go to figure x
>> clf(x)
% Clear figure x
>> close(x)
% Close figure x
>> title(‘I love MATLAB’)
% Figure caption
 Plotting





>> plot(y)
% Plot y versus index
>> plot(x,y)
% Plot y versus x
>> semilogx(x,y)
>> semilogy(x,y)
>> loglog(x,y)
>> plot3(x,y,z)
>> subplot(m,n,p)
% Create tiled plots
15
 Plotting control
 >> axis([xmin xmax ymin ymax])
 >> xlabel(‘This is x-axis label’)
 >> ylabel(‘This is y-axis label’)
 >> text(x, y, ‘This is a label’) % Add text to (x,y)
16
 Open sdof.m file
 Go through the codes
 Run sdof.m file
 Modify the file
 Re-run
17
18
Download