Presentation is loading. Please wait.

Presentation is loading. Please wait.

StatLab Matlab Workshop

Similar presentations


Presentation on theme: "StatLab Matlab Workshop"— Presentation transcript:

1 StatLab Matlab Workshop
11/15/2018

2 Yale University StatLab
Resources Useful links: The help links on this page include Mathworks’ Getting Started (the official online documentation of Matlab) Kermit Sigmon’s MATLAB Primer (a very good beginner manual); University of Utah’s MATLAB Tutorial and some others. MATLAB’s online help manual Yale University StatLab

3 Yale University StatLab
What is MATLAB? MATLAB is a matrix-based tool for numerical computations. It’s very powerful and easy to use. Both programming language and interactive environment Very fast native functions; very slow when processing loops Lots of available toolboxes Yale University StatLab

4 Yale University StatLab
Launching Matlab Click MATLAB in the start menu (on Unix systems: type “matlab” to enter interactive mode) Yale University StatLab

5 Yale University StatLab
The Interface Main Window: Input/Output Workspace: consists of the variables you create during a MATLAB session; Command History: double click lines to evaluate them; Current Directory browser: shows you where you are. Editor/Debugger: pops up when you create an M-file (click on “New” button to launch it.) Yale University StatLab

6 Yale University StatLab
Entering Matrices Matrices can be Entered manually A = [1 2 3 ; ; 7 8 9] Generated by built-in functions Loaded from a file Yale University StatLab

7 Yale University StatLab
Matrix operations: + addition - subtraction * multiplication ^ power ‘ transpose \ left division, / division x = A \ b is the solution of A * x = b x = b / A is the solution of x * A = b To make ‘*’ , ‘^’, ‘\’ and ‘/’ apply element-by-element, we precede the operators by ‘.’ Yale University StatLab

8 Yale University StatLab
Subscripts: Subscripts: the element in row i and column j of A is denoted by A(i, j). i,j can also be vectors of indices or logical arrays: A=4*[ ]’ b=A>18; c=[ ]’ A(b) gives same result as A(c) Yale University StatLab

9 Yale University StatLab
The Colon Operator ‘:’ The colon ‘:’ is one of MATLAB ’s most important operators. It has many formats: [0:0.2:3] is a row vector containing integers from 0 to 3, in increments of 0.2 Subscript expressions involving colons refer to portions of a matrix: A(1:3 , 2) is the first to the third elements of the second column of A. Yale University StatLab

10 Working with Matrices:
Four functions that generate basic matrices: Zeros: all zeros. A = zeros(1,3) Ones: all ones. A = ones(2,4) Rand: elements are U[0,1] random variables A = rand(3,5) Randn: elements are standard-normal random variables A = randn(2,5) Be careful: Matlab always sets the same seed. Get ‘more random’ numbers by typing rand('state', sum(100*clock)) Yale University StatLab

11 Working with Matrices (2)
A=eye(3) gives a 3-by-3 identity matrix sparse(m,n): same as zeros(m,n), use if most elements are zeros. Concatenation: join small (compatible) matrices to make bigger ones: B = [A A-2; A*2 A/4] Deleting rows and columns: B(:,2) = [ ] Yale University StatLab

12 Yale University StatLab
Putting it together Many operations can take Matrix inputs. Example: A = [1 2 3 ; ; 7 8 9] B=A>5 Use indices and element-by-element operations to avoid slow and unwieldy loops: beta=0.925; auxil=1:200; betavec(auxil)=beta.^auxil; betavec=betavec’ Yale University StatLab

13 Yale University StatLab
Suppressing Output: If you simply type a statement and press Enter, MATLAB automatically displays the results on screen. If you end the line with a semicolon ‘;’, MATLAB performs the computation but does not display any result. Example: C = randn(5,1) v.s. C = randn(5,1); Yale University StatLab

14 Yale University StatLab
Functions: MATLAB provides a large number of standard elementary mathematical functions, including abs, sqrt, exp, sin. For a list of the elementary mathematical functions, type: help elfun For a list of more advanced mathematical and matrix functions, type help specfun help elmat For a list of data analysis functions, type help datafun Yale University StatLab

15 Yale University StatLab
Flow Control: MATLAB has following flow controls: If statement For loops While loops Continue statement Break statement Yale University StatLab

16 Yale University StatLab
if … elseif … else … end If A > B ‘greater’ elseif A < B ‘less’ elseif A == B ‘equal’ else error(‘Unexpected situation’) end Yale University StatLab

17 Yale University StatLab
for … end for i = 1:m for j = 1:n H(i,j) = 1/(i+j) end Yale University StatLab

18 Yale University StatLab
Graphics: 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) Yale University StatLab

19 Programming with MATLAB:
Files that contain code in the MATLAB language are called M-files. You can create M-files using the matlab editor, then use them as you would any other MATLAB functions or commands. There are two types of M-files: Scripts and Functions. Yale University StatLab

20 Yale University StatLab
Scripts Scripts: a bunch of code grouped together; doesn’t accept argument or return output. Example open m-file editor type disp(‘Hello World’) save as test.m in c:\temp add c:\temp to path (File/Set Path) Execute by typing “test” Yale University StatLab

21 Yale University StatLab
Functions: Functions are M-files that can accept input arguments and return output arguments. The name of the M-file and of the function should be the same. For example, save this as area.m in c:temp: function ar = area(radius) ar=pi*radius^2; Yale University StatLab

22 Yale University StatLab
Function functions Once you have defined a function, you can use functions that have functions as arguments – function functions! E. g. search for minima, zero values. Example: first we define the function x2-3: function x=example(input) x=input.^2-3; Now, we can easily find minima and zeros: Yale University StatLab

23 Yale University StatLab
Learn from others There are lots of Matlab functions already out there: Google them! James LeSage’s econometrics toolbox: Don’t forget to “set paths” so that Matlab can find your new .m-files. Yale University StatLab

24 A Simple Linear Regression Example
v = mvnrnd([0,1], sqrt([10,1;1,5]), 100); x=v(:,1) y=v(:,2) scatter( x', y' ) hold() x=[x(:,:),diag(eye(100))] a = (x'*x)^-1*x'*y plot( x, x*a(1) + a(2) ) Yale University StatLab


Download ppt "StatLab Matlab Workshop"

Similar presentations


Ads by Google