Matlab Introduction Getting Around Matlab Matrix Operations Drawing Graphs Calculating...

18
Matlab Introduction Getting Around Matlab Matrix Operations Drawing Graphs Calculating Statistics (How to read data)

Transcript of Matlab Introduction Getting Around Matlab Matrix Operations Drawing Graphs Calculating...

Matlab Introduction

Getting Around Matlab Matrix Operations Drawing Graphs Calculating Statistics (How to read data)

Interface with Mathlab 2012 Command window

Only >> line is active, the other lines only remind which previous commands you used

NB Matlab does not manipulate symbols; only numbers

Command history window Double click on command to repeat previous

command Single click to copy into command window and then

modify Workspace: list of created vectors & matrices Current Folder

Where to up-load files into Matlab (use load command to bring in variables from disk)

Matlab Introduction

Getting Around Matlab Matrix Operations Drawing Graphs Calculating Statistics (How to read data)

Creating A Matrix

A = [1 2 0; 2 5 -1; 4 10 -1] semicolon starts new rowB = [3,4,5] create row vector: “ ” (space) or “,”

(comma) separates elements

C = [A;B] put row vector B as new row in AD = [A,B’] put new column B in matrix A

B is now transposed (single quote)E = eye(5) create 5 x 5 identity matrixF = ones(2,3) create 2 row x 3 col matrix of 1s

clear C, D, E erases matrix (or you can over-write it)

Matrix OperationsB = A’ transpose matrix AC = A + 3 * BD = A * BE = A .* B element by element multiplication

F = A^2 multiply matrix A by itselfG = A.^2 raise each A element to 2nd power

X = inv(A) form inverse of matrix

format (controls format of numeric values)

format short g

Useful Matrix Functions

det(A) gives determinantrank(A) gives ranktrace(A) gives traceeig(A) gives eigenvalues

For complete list, see help -> matlab -> mathematics -> matrices and linear algebra -> function summary

Matlab Introduction

Getting Around Matlab Matrix Operations Drawing Graphs Calculating Statistics (How to read data)

Drawing graph (traditional method)

x = [-10 : 0.1 : 10]; create row vector from -10 to +10 in increments of 1/10

To avoid an input echo, use “;” at end of command

y = 3*x.^2 – 5*x + 6;

plot(x,y) displays graph of x and ygrid on displays reference lines

Graphs in 3 Dimensions[x, y] = meshgrid(-3:0.02:3, -5:0.02:5);

Creates matrix of x between -3 & 3 and y between -5 & 5 in 0.02 incrementsto graph z in 3rd dimension

z = x.*y.^2 create function of x and yplot3(x,y,z)

To change the perspective use the “Rotate 3D” icon on the menu

A graph with a message !! [x, y] = meshgrid(-3:.02:3, -5:.02:5);

z = max(0.0003, min(.0004, exp(-3.*(((0.5+x).^2)+(y.^2)/2)) + exp((-x.^2-(y.^2)/2)) .* cos(4.*x) ) );

plot3(x,y,z)

To change the perspective use the “Rotate 3D” icon on the menu

http://www.npr.org/blogs/krulwich/2012/01/10/144991340/don-t-make-me-do-this-the-equations-screamed

Other Example Graphs

T=R.^2+R.*S+2.*S.^2+3; a bowl plot3(R,S,T)

T=-R.^2-S.^2+6.*R+2.*S; a domeplot3(R,S,T)

T=R.^3-R.*S+S.^3 a beach towel on a hill

Interactive Finishing Touches use “plottools” Add labels, titles, change perspective, etc. see help -> matlab -> graphics -> plots and plotting

tools -> “interactive plot creation with plot tools demo”

Matlab Introduction

Getting Around Matlab Matrix Operations Drawing Graphs Calculating Statistics (How to read data)

Calculating Statistics – a traditional way

Z = beta(1:end,3);mean(Z)median(Z)min(Z)max(Z)std(Z) standard deviationcov(Z)hist(Z,20) draws histogram with 20 categories

Matlab Introduction

Getting Around Matlab Matrix Operations Drawing Graphs Calculating Statistics (How to read data)

Working with files – a traditional way

Cd(‘w:\’) change directory to W disk

The file named col2row.prn was saved in excel file using “save as” menu with file delimited by spaces

It contains three rows of numbers:1 2 4 -3 4 1

F = load(‘col2row.prn'); looks for spaces or columnsOrG = dlmread(‘col2row.prn’,’\t’); the “\t” looks for tab-delimited

Reading a data file – an interactive mode

Choose “import data” from file menu.Select file “beta” to import from

Format short g (so data looks non-zero)X = beta(1:end,1) declare X is beta’s 1st

columnY = beta(1:end,2) declare Y as beta’s 2nd

column

Scatter(X,Y) shows X vs. Y

Regress(Y,X) best-fit slope (Y ind, X dep)

Regression – Manual Method

n = size(X,1);X = [ones(n,1),X]; puts new col of 1s as 1st

col in new X matrixslop = inv(X’*X)*X’*Y calculates slope eps = Y – X*slop; calculates error from line

sigma = eps’*eps/n;slop_var = sigma*inv(X’*X)covariance matrix