Professional Documents
Culture Documents
:
2007.
:
http://www.math.uoc.gr/~chatzipa/
MATLAB
Matlab ;
(PSE)
Cross platform (Wintel, Unix, Mac)
MATLAB
Matlab
(GUI)
MATLAB
Matlab (...)
MATLAB
MATLAB
Maple
Mathematica
Octave (GNU)
Scilab
MATLAB;
http://www.iecn.u-nancy.fr/~pincon/scilab/bench-scilab-matlab.html
MATLAB
Matlab;
lookfor <something>
help <function_name>
MATLAB
Matlab
toolboxes (
), ..
PDE Toolbox
Statistics Toolbox
Image Processing Toolbox
http://www.mathworks.com/products/product_listing/index.html
MATLAB
Matlab
Command Window
Workspace:
Command history
Current directory
Help
Profiler
Editor (>> edit )
Demos (>> demos)
MATLAB
Matlab
>>
: >> quit
: >> exit
MATLAB
10
2+3
7-5
34*212
1234/5786
2^5
ans = 5
ans = 2
ans = 7208
ans = 0.2173
ans = 32
default
ans
a = sqrt(2)
a = 1.4142
MATLAB
11
b = a, pi, 2 + 3i
b = 1.4142
ans = 3.1416
ans = 2.0000 +
3.0000i
c = sin(pi)
eps
c = 1.2246e-016
ans = 2.2204e-016
eps
d=
[1 2 3 4 5 6 7 8 9 d = 1 2 3 4 5 6 7 8 9
e=123456789
]
f=123456789
e = [1:9]
f = 1:9
g = 0:2:10
f(3)
f(2:7)
f(:)
g = 0 2 4 6 8 10
ans = 3
ans = 2 3 4 5 6 7
123456789
MATLAB
12
h = [1 2 3];
h'
(nothing)
ans = 1
2
3
.
.
h * h'
h .* h
h + h
ans = 14
ans = 1 4 9
ans = 2 6 8
(!)
g = [ 1 2 3;
4 5 6; 7 8 9]
g = 1 2 3
4 5 6
7 8 9
ans = 6
ans = 7 8 9
g = 1 2 3
4 5 4
7 8 9
.
:
!
g(2,3)
g(3,:)
g(2,3) = 4
([1:3],[2:4])
([1:3],:)
MATLAB
13
g^2
g .^ 2
ans =
30 36 42
66 81 96
102 126 150
ans = 1 4 9
.
16 25 36
49 64 81
MATLAB
14
A.K.Y Matlab
IEEE
s
1 2
f
12 13
64
Round-off:
eps = 2-52
single precision arithmetic
MATLAB
15
( !)
format
Matlab: /
: format compact/loose
15 : format long
5 : format short
help format
MATLAB
16
session
>> who (name)
>> whos (name, size, bytes, class)
Case sensitive!
MATLAB
17
Matlab
Built-in
.mat
MATLAB
18
Matlab
Built-in
Input
Output
rand(2)
ans = 0.9501
0.2311
ans = 0.8913
0.7621
rand(2,3)
zeros(2)
ones(2)
ans = 0
0
ans = 1
1
Comments
0.6068
0.4860
0.4565 0.8214
0.0185 0.4447
0
0
1
1
eye(2)
ans = 1 0
0 1
( )
hilb(3)
MATLAB
19
Matlab (...)
Built-in
Input
Output
Comments
randn(2,3)
=
sparse(n,n)
=
All zero sparse: 3-by-3
toeplitz([1
2 3])
ans = 1 2 3
2 1 2
3 2 1
Toeplitz
vander([1 2
3])
ans = 1 1 1
4 2 1
9 3 1
Vandermonde
MATLAB
20
a = [1 2; 3 4]
a = 1 2
3 4
MATLAB
21
(...)
Input
Output
[a, a, a]
ans = 1 2 1 2 1 2
3 4 3 4 3 4
[a; a; a]
ans = 1
3
1
3
1
3
2
4
2
4
2
4
ans = 1
3
0
0
2
4
0
0
MATLAB
0
0
1
2
0
0
3
4
22
(...)
for loops
for i=1:10,
for j=1:10,
t(i,j) = i/j;
end
end
MATLAB
23
+
-
* (!)
/ (* = )
\b (Ax = b)
.<operand> :
MATLAB
24
( 1 x 1)!
help elfun (elementary functions)
help elmat (elementary matrix functions)
MATLAB
25
b=2
b=2
a + b
ans = 3 4
5 6
a * b
ans = 2 4
6 8
a ^ b
ans = 7 10
15 22
a .^ b
ans = 1 4
9 16
MATLAB
26
size(A,1) = 1 size(A,2) = 1
v = [1 2 3]
u = [3 2 1]
v = 1 2 3
u = 3 2 1
lenght(v)
Ans = 3
v * u
Error
v * u'
ans = 10
dot(v,u)
ans = 10
(dot)
MATLAB
27
help matfun
k = [16 2 3;
5 11 10;
9 7 6]
k = 16 2 3
5 11 10
9 7 6
eig(k)
rank(k)
ans = 3
det(k)
ans = -136
MATLAB
28
(...)
ans =
inv(k)
[vec,val] =
eig(k)
s = svd(k)
s = 23.5497
11.2316
0.5142
MATLAB
29
x = b
x = A \ b
[L, U]=lu(A)
chol(A)
cond(A)
qr(A)
svd(A) svds(A)
MATLAB
30
session .mat
session
save mysession
save mysession var1 var2
load mysession
MATLAB
31
Matlab
M-files ()
command
Vs.
.m!
type <function_name>
MATLAB
32
Matlab
dir / ls
pwd
cd <directory>
which <function>
path
pathtool
MATLAB
33
Function [o1,o2,o3,] = name(i1, i2, i3, )
% Comments
.
.
Code
.
.
MATLAB
34
>> name
Ti ;
workspace
built-in
built-in
directory
paths
!
MATLAB
35
(if, switch)
(for, while)
(break,
continue)
MATLAB
36
ifelseifelseend
If A > B
greater
elseif A < B
less
elseif A = = B
equal
else error(Unexpected situation)
end
MATLAB
37
( arrays)
== ()
~= ()
< ()
<= (. )
> ()
>= (. )
& (and)
| (or)
~ (not)
MATLAB
38
forend
% Hilbert matrix!!
for i = 1:m
for j = 1:n
H(i,j) = 1/(i+j-1)
end
end
MATLAB
39
slow.m
slow.m
tic;
tic;
x=-10000:0.5:10000;
x=-10000:0.5:10000;
for
for ii=1:length(x)
ii=1:length(x)
if
if x(ii)>=0,
x(ii)>=0,
s(ii)=sqrt(x(ii));
s(ii)=sqrt(x(ii));
else
else
s(ii)=0;
s(ii)=0;
end;
end;
end;
end;
toc
toc
MATLAB
fast.m
fast.m
tic
tic
x=-10000:0.5:10000;
x=-10000:0.5:10000;
s=sqrt(x);
s=sqrt(x);
s(x<0)=0;
s(x<0)=0;
toc
toc
40
(...)
;
inaccurate.m
inaccurate.m
tic;
tic;
eig(rand(10));
eig(rand(10));
toc
toc
MATLAB
accurate.m
accurate.m
tic;
tic;
for
fori=1:10000
i=1:10000
eig(rand(10));
eig(rand(10));
end
end
toc/10000
toc/10000
41
Matlab !
pre-allocate
allocation!
Profiler:
!!!
MATLAB
42
Profiling
profile on
function
profile report
profile off
MATLAB
43
Matlab
MATLAB
44
Plot
x = 0 : .01 : 2*pi;
y = sin(x);
plot(x,y)
y2 = sin(x-.25)
y3 = sin(x-.5)
plot(x,y,x,y2,x,y3)
% at the same time!
MATLAB
45
Plot - Pie
hold on
subplot(m,n,1mn); plot()
plot(x,y,rx)
pie(1:7)
MATLAB
46
Mesh
A = zeros(32);
A(14:16,14:16) = ones(3);
F=abs(fft2(A));
mesh(F)
Rotate3d on
MATLAB
47
Movie!
logo;
fr=40;
dtheta=360/fr;
for frame = 1:fr,
camorbit(dtheta,0)
M(frame) = getframe(gcf);
end
movie(M);
MATLAB
48
= imread(filename)
image(X)
MATLAB
49
>> guide
MATLAB
50
(...)
uicontrols
MATLAB
51
(...)
>> guide...
... GUI...
... save .m file
... GUI
manual MATLAB
MATLAB
52
/
MATLAB
MPI
MATLAB
53
http://www.mathworks.com/company/newsletters/news_notes/clevescorner/winter2000.cleve.
html
PAPI:
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=5445
xxxdlg commands
cells
MATLAB
54
Goooogle!!
http://www.ucalgary.ca/~appinst/doc/matlabhelp/techdoc/umg/chintro.html
http://www.ualberta.ca/CNS/RESEARCH/Courses/2003/MathPackages/Matlab/Matlab.Vis.Jon.index.
html
Matlab
http://www.glue.umd.edu/~nsw/ench250/matlab.htm
Alberta
http://www.mathworks.com/access/helpdesk/help/techdoc/learn_matlab/learn_matlab.shtml
Tutorial
http://www.mathworks.com/moller/chapters.html
Tutorial Mathworks
http://www.math.mtu.edu/~msgocken/intro/intro.html
http://www.google.com
Matlab guide
MATLAB
55
Credits
Darryl Reid
MATLAB
56