0% found this document useful (0 votes)
68 views

Matlab

This document provides an overview of MATLAB tutorials covering various topics including MATLAB basics, data analysis, statistics toolbox, and curve fitting toolbox. The tutorials are intended for the 16.62x Experimental Projects class and cover key MATLAB concepts such as vectors, matrices, built-in functions, graphics, importing/exporting data, descriptive statistics, probability distributions, linear models, hypothesis testing, and curve fitting tools. Example code is provided to demonstrate important MATLAB capabilities.

Uploaded by

Claudia Ellen IX
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views

Matlab

This document provides an overview of MATLAB tutorials covering various topics including MATLAB basics, data analysis, statistics toolbox, and curve fitting toolbox. The tutorials are intended for the 16.62x Experimental Projects class and cover key MATLAB concepts such as vectors, matrices, built-in functions, graphics, importing/exporting data, descriptive statistics, probability distributions, linear models, hypothesis testing, and curve fitting tools. Example code is provided to demonstrate important MATLAB capabilities.

Uploaded by

Claudia Ellen IX
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

MATLAB Tutorials

16.62x Experimental Projects

Violeta Ivanova, Ph.D. Educational Technology Consultant MIT Academic Computing [email protected]

This Tutorial
!

Class materials
web.mit.edu/acmath/matlab/16.62x

Topics
" " " "

MATLAB Basics Review Data Analysis Statistics Toolbox Curve Fitting Toolbox
16.62x MATLAB Tutorials

Other References
!

Mathematical Tools at MIT


web.mit.edu/ist/topics/math

Course16 Tutorials
" "

Unified MATLAB: web.mit.edu/acmath/matlab/unified 16.06 &16.07 MATLAB & Simulink: web.mit.edu/acmath/matlab/course16

16.62x MATLAB Tutorials

MATLAB Basics Review


Toolboxes & Help Matrices & Vectors Built-In Functions Graphics

Help in MATLAB
!

Command line help


>> help <command> e.g. help regress >> lookfor <keyword> e.g. lookfor regression

Help Browser
"

Help->Help MATLAB
16.62x MATLAB Tutorials

MATLAB Help Browser


!

MATLAB
+ Mathematics + Data Analysis + Programming + Graphics

! !

Curve Fitting Toolbox Statistics Toolbox


+ Linear Models + Hypothesis Tests + Statistical Plots
16.62x MATLAB Tutorials

Vectors
!

Row vector
>> R1 = [1 6 3 8 5] >> R2 = [1 : 5] >> R3 = [-pi : pi/3 : pi]

Column vector
>> C1 = [1; 2; 3; 4; 5] >> C2 = R2'

16.62x MATLAB Tutorials

Matrices
!

Creating a matrix
>> A = [1 2.5 5 0; 1 1.3 pi 4] >> A = [R1; R2]

Accessing elements
>> A(1,1) >> A(1:2, 2:4) >> A(:,2)
16.62x MATLAB Tutorials

Matrix Operations
!

Operators + and >> X = [x1 x2]; Y = [y1 y2]; A = X+Y A = x1+y1 x2+y2

! !

Operators *, /, and ^
>> Ainv = A^-1 Matrix math is default!

Operators .*, ./, and .^


>> Z = [z1 z2]; B = [Z.^2 Z.^0] B = z12 z22 1 1
16.62x MATLAB Tutorials

Built-In Functions
!

Matrices & vectors


>> >> >> >> >> >> [n, m]= size(A) n = length(X) M1 = ones(n, m) M0 = zeros(n, m) En = eye(n) N1 = diag(En)

And many others


>> y = exp(sin(x)+cos(t))

16.62x MATLAB Tutorials

Graphics
!

2D linear plots: plot


>> plot (t, z, r-)
Colors: b, r, g, y, m, c, k, w Markers: o, *, ., +, x, d Line styles: -, --, -., :

Annotating graphs
>> >> >> >> legend (z = f(t)) title (Position vs. Time) xlabel (Time) ylabel (Position)
16.62x MATLAB Tutorials

Multiple Plots
!

Multiple datasets on a plot


>> >> >> >> p1 = hold p2 = hold s1 p1 s2 p2 = = = = plot(xcurve, ycurve) on plot(Xpoints, Ypoints, ro) off subplot(1, plot(time, subplot(1, plot(time, 2, 1) velocity) 2, 2) acceleration)

Subplots on a figure
>> >> >> >>

16.62x MATLAB Tutorials

MATLAB Data Analysis


Preparing Data Basic Fitting Correlation

Data Input / Output


!

Import Wizard for data import


File->Import Data

File input with load


B = load(datain.txt)

File output with save


save(dataout, A, -ascii)

16.62x MATLAB Tutorials

Missing Data
!

Removing missing data


Removing NaN elements from vectors >> x = x(~isnan(x)) " Removing rows with NaN from matrices >> X(any(isnan(X),2),:) = []
"

Interpolating missing data


YI = interp1(X, Y, XI, method) Methods: spline, nearest, linear,

16.62x MATLAB Tutorials

Data Statistics
!

Figure window: Tools->Data Statistics

16.62x MATLAB Tutorials

Correlation
!

Correlation coefficient & confidence interval


>> [R, P, Rlo, Rup, alpha] = corrcoef(X); >> [i, j] = find(P < 0.05);

16.62x MATLAB Tutorials

Basic Fitting
!

Figure window: Tools->Basic Fitting

16.62x MATLAB Tutorials

Polynomials
!

Evaluating polynomials y = p1 x n + p2 x n !1 ... + pn x + pn +1


>> p = [p1 p2 ] >> t = [-3 : 0.1 : 3] >> z = polyval(p, t)

Fitting a polynomial
>> X = [x1 x2 xn]; Y = [y1 y2 yn] >> Pm = polyfit(X, Y, m)
16.62x MATLAB Tutorials

Statistics Toolbox
Probability Distributions Descriptive Statistics Linear & Nonlinear Models Hypothesis Tests Statistical Plots

Descriptive Statistics
!

Central tendency
>> >> >> >> m gm med mod = = = = mean(X) geomean(X) median(X) mode(X)

Dispersion
>> s = std(X) >> v = var(X)

16.62x MATLAB Tutorials

Probability Distributions
!

Probability density functions


>> Y = exppdf(X, mu) >> Y = normpdf(X, mu, sigma)

Cumulative density functions


>> Y = expcdf(X, mu) >> Y = normcdf(X, mu, sigma)

Parameter estimation
>> m = expfit(data) >> [m, s] = normfit(data)
16.62x MATLAB Tutorials

Distribution Fitting Tool


!

Start from command line window


>> dfittool

16.62x MATLAB Tutorials

Linear Models
!

Definition:
y = X! + "
y: n x 1 vector of observations X: n x p matrix of predictors !: p x 1 vector of parameters ": n x 1 vector of random disturbances

16.62x MATLAB Tutorials

Linear Regression
!

Multiple linear regression


>> [B, Bint, R, Rint, stats] = regress(y, X) B: vector of regression coefficients Bint: matrix of 95% confidence intervals for B R: vector of residuals Rint: intervals for diagnosing outliners stats: vector containing R2 statistic etc.

Residuals plot
>> rcoplot(R, Rint)
16.62x MATLAB Tutorials

Polynomial Fitting Tool


>> polytool(X, Y)

16.62x MATLAB Tutorials

Analysis of Variance (ANOVA)


!

One-way ANOVA
>> anova1(X,group)

16.62x MATLAB Tutorials

Multiple Comparisons
>> [p, tbl, stats] = anova1(X,group) >> [c, m] = multcompare(stats)

16.62x MATLAB Tutorials

More Built-In Functions


!

Two-way ANOVA
>> [P, tbl, stats] = anova2(X, reps)

Statistical plots
>> boxplot(X, group)

Other hypothesis tests


>> H = ttest(X) >> H = lillietest(X)

16.62x MATLAB Tutorials

Exercise 1: Data Analysis


!

RFID and Barcode Scanning Tests


"

Script m-file: dataanalysis.m

Follow instructions in the m-file

Questions?

16.62x MATLAB Tutorials

Curve Fitting Toolbox


Curve Fitting Tool Goodness of Fit Analyzing a Fit Fourier Series Fit

Curve Fitting Tool


>> cftool

16.62x MATLAB Tutorials

Goodness of Fit Statistics

16.62x MATLAB Tutorials

Analyzing a Fit

16.62x MATLAB Tutorials

Fourier Series Fit

16.62x MATLAB Tutorials

Exercise 2: Regression
!

Linear regression & other line fitting


"

Script m-file: regression.m

Follow instructions in the m-file

Questions?

16.62x MATLAB Tutorials

You might also like