280 likes | 335 Views
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
E N D
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 2 13 • 5 10 11 8 • 9 6 7 12 • 4 15 14 1
sum, transpose, and diag • sums of the columns of A • >>sum(A) • ans = 34 34 34 34 • >>sum(A')' • 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 2 13 0 • 5 10 11 8 0 • 9 6 7 12 0 • 4 15 14 1 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 • num_students = 25 • Numbers • 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i • Operators • +-*/^ • \ Left division • Functions • help elfun • help specfun • help elmat
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.4860 0.4565 0.4447 • 0.2311 0.8913 0.0185 0.6154 • 0.6068 0.7621 0.8214 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 • >> A = [1 2 3] • >> B = [4 5 6] • >> save mydata.mat • >> clear • >> load mydata.mat
>> eye(3) ans = 1 0 0 0 1 0 0 0 1 >> eye(size(A)) ans = 1 0 0 0 0 1 0 0 0 0 1 0 eye(n), eye(size(A))
Load and save ASCII file • >> a = magic(4); b = ones(2, 4) * -5.7; c = [8 6 4 2]; • >> save -ascii mydata.dat • >> clear • >> load mydata.dat • >> mydata • mydata = • 16.0000 2.0000 3.0000 13.0000 • 5.0000 11.0000 10.0000 8.0000 • 9.0000 7.0000 6.0000 12.0000 • 4.0000 14.0000 15.0000 1.0000 • -5.7000 -5.7000 -5.7000 -5.7000 • -5.7000 -5.7000 -5.7000 -5.7000 • 8.0000 6.0000 4.0000 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 = [ • 72 134 3.2 • 81 201 3.5 • 69 156 7.1 • 82 148 2.4 • 75 170 1.2 ] • to obtain the mean and standard deviation of each column, use • >>mu = mean(D), sigma = std(D) • mu = 75.8 161.8 3.48 • sigma = 5.6303 25.499 2.2107 • >>help datafun • >>help stats
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');