280 likes | 507 Views
Learn the fundamentals of MATLAB including numerical methods, data analysis, and visualization. Discover how to work with matrices, generate arrays, and perform various operations. Explore the MATLAB system and its capabilities.
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');