Transcript Matlab
Getting started with Matlab
Numerical Methods
Appendix B
http://www.mathworks.com/access/helpdesk/
help/techdoc/learn_matlab/learn_matlab.html
What Is MATLAB?
Math and computation
Algorithm development
Data acquisition
Modeling, simulation, and prototyping
Data analysis, exploration, and visualization
Scientific and engineering graphics
Application development, including graphical
user interface building
The MATLAB System
Development Environment.
The MATLAB Mathematical Function
Library.
The MATLAB Language.
a high-level matrix/array language
Graphics.
The MATLAB External Interfaces (API).
MATLAB Online Help
Desktop Tools and Development Environment
Mathematics
Programming
Graphics
3-D Visualization
Creating Graphical User Interfaces
External Interfaces/API
Matrices and Arrays
To enter Dürer's matrix, simply type in the
Command Window
>>A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15
14 1]
A=
16 3
5 10
9 6
4 15
2
11
7
14
13
8
12
1
sum, transpose, and diag
sums of the columns of A
>>sum(A)
>>sum(A')'
ans = 34 34 34 34
ans =
34
34
34
34
sum(diag(A))
ans = 34
The transpose
operation is denoted
by an apostrophe or
single quote, '.
Subscripts
>>A(1,4) + A(2,4) + A(3,4) + A(4,4)
ans = 34
>>X = A;
>>X(4,5) = 17
X=
16 3
5 10
9 6
4 15
2
11
7
14
13
8
12
1
0
0
0
17
The Colon Operator
>> 1:10
ans =
1
2
3
4
5
6
7
8
9 10
>> 100:-7:50
ans = 100 93 86 79 72 65 58 51
>> 0:pi/4:pi
ans =
0 0.7854 1.5708 2.3562 3.1416
In subscript
>> A(1,1:4)
ans = 16
3
2
13
The magic Function
>> B = magic(4)
B=
16
2
3 13
5 11 10
8
9
7
6 12
4 14 15
1
To make this B into Dürer's A, swap the two middle
columns:
A = B(:,[1 3 2 4])
Expressions
Variables
Numbers
3 -99 0.0001 9.6397238
-3.14159j
3e5i
Operators
num_students = 25
+-*/^
\
Left division
Functions
help elfun
help specfun
help elmat
1.60210e-20 6.02252e23
1i
Working with Matrices
Generating Matrices
zeros
All zeros
ones
All ones
rand
Uniformly distributed random elements
randn
Normally distributed random elements
ones(n,m)
>> ones(3,4)
ans =
1
1
1
1
1
1
1
1
1
1
1
1
zeros(n,m)
>> zeros(3,4)
ans =
0
0
0
0
0
0
0
0
0
0
0
0
rand(n,m)
>> rand(3,4)
ans =
0.9501
0.2311
0.6068
0.4860
0.8913
0.7621
0.4565
0.0185
0.8214
0.4447
0.6154
0.7919
randn(3,4)
>> randn(3,4)
ans =
-0.4326 0.2877 1.1892 0.1746
-1.6656 -1.1465 -0.0376 -0.1867
0.1253 1.1909 0.3273 0.7258
Load and Save .mat
>>
>>
>>
>>
>> load mydata.mat
A = [1 2 3]
B = [4 5 6]
save mydata.mat
clear
eye(n), eye(size(A))
>> eye(3)
>> eye(size(A))
ans =
ans =
1
0
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
Load and save ASCII file
>> a = magic(4); b = ones(2, 4) * -5.7; c = [8 6 4 2];
>> save
>> clear
>>
-ascii mydata.dat
load mydata.dat
>> mydata
mydata =
16.0000
5.0000
9.0000
4.0000
-5.7000
-5.7000
8.0000
2.0000
11.0000
7.0000
14.0000
-5.7000
-5.7000
6.0000
3.0000
10.0000
6.0000
15.0000
-5.7000
-5.7000
4.0000
13.0000
8.0000
12.0000
1.0000
-5.7000
-5.7000
2.0000
Building Tables
>> n = (0:9)';
pows = [n n.^2 2.^n]
pows =
0
0
1
1
1
2
2
4
4
3
9
8
4 16 16
5 25 32
6 36 64
7 49 128
8 64 256
9 81 512
MATLAB uses a dot, or decimal
point, as part of the notation for
multiplicative array operations.
Multivariate Data
>>D = [
3.2
3.5
7.1
2.4
1.2 ]
mean and standard deviation of each column, use
>>mu = mean(D), sigma = std(D)
134
201
156
148
170
to obtain the
72
81
69
82
75
mu =
75.8
161.8
3.48
sigma = 5.6303
25.499 2.2107
>>help datafun
>>help stats
Matlab Graphics
plot(x,y)
t=[0:5:100]
y=t.^0.34-log10(t)+1./t
plot(t,y)
title(‘Plot of y versus t’)
grid
3D graphics
[x,y]=meshgrid(-4.0:0.2:4.0,-4.0:0.2:4.0);
z=(-20*x.^2+x)+(-15*y.^2+5.*y);
surfl(x,y,z);
axis([-4 4 -4 4 -800 0])
xlabel('x-axis');
ylabel('y-axis');
zlabel('z-axis');
Try yourself, and have fun!