Download presentation
Presentation is loading. Please wait.
Published byLetitia Cameron Modified over 9 years ago
1
Josh Xiaomin Xi PhD Candidate Feb 27, 2013 A tutorial from
2
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial2 / INF Overview Introduction Installation (Toolboxes) Layout of Matlab Windows Basics of Matlab language Arithmetic Operations Variables Matrix Plot Functions: inline and sym Programming in Matlab m-file Optimization in Matlab
3
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial3 / INF Intro MATLAB: MATrix and LABoratory First developed by Dr. Cleve Molder: Fortran based In 1984, MathWorks was founded: C based
4
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial4 / INF Intro: Installation Go to: http://ocio.osu.edu/software/directory/slwin/
5
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial5 / INF Intro: Installation Select the tool boxes that you need e.g. Matlab, curve fitting, optimization, statistics, symbolic math, etc.
6
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial6 / INF Intro: Matlab Windows Layout Command Window Command History Current Directory Browser Workspace Browser
7
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial7 / INF Overview Introduction Installation (Toolboxes) Layout of Matlab Windows Basics of Matlab language Arithmetic Operation Variables Matrix Plot Functions: inline and sym Programming in Matlab m-file
8
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial8 / INF Basics: Arithmetic Operations + plus - minus * multiply / right divide \ left divide ^ exponential 2+3=5 2-3= -1 2*3=6 2/3=0.6667 2\3=1.5000 2^3=8
9
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial9 / INF Basics: Variables How to define a variable name Numbers and letter, but first component must be a letter Case sensitive No space, punctuations (except underline) Special variables ans NaN, nan Inf, -Inf pi i, j realmax, realmin However, you can redefine these variables, and use “clear” to clear redefinition.
10
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial10 / INF Basics: Matrix How to define a matrix/vector A = [1 2 3 4; 4 5 6 7] ~~ [1:4; 4:7] (!!! Comma, colon, semicolon bracket) Special matrix zeros(m,n) ones(m,n) diag(vec) Matrix operation Basic arithmetic operation (!!! Period & dimensions) Inverse (inv) and transpose (apostrophe) Read/change matrix component (!!! parenthesis) Stacking and breaking Size(), length(), eig()
11
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial11 / INF Basics: Plot An example of attenuation oscillation curve: t=0:pi/50:4*pi; y=exp(-t/3).*sin(3*t); plot(t,y,'-r') grid Use “help” to find more info of plot, e.g. linespec, legend, title, xlabel loglog log plot, taking log on both x & y semilogx log plot, taking log only on x semilogy log plot, taking log only on y mesh 3-d plot bar bar chart Subplot one figure with sub figures Other
12
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial12 / INF Basics: Functions Use “sym” / “syms” Use “inline” syms x y; f=3*sin(2*x^2-y) Df=diff(f) Df2=diff(f,2) subs(f,x,4) fin=inline(char(f)) fin(1,1) f=inline(‘3*sin(2*x^2-y)’) f=inline(‘3*sin(2*x^2-y)’,’x’,’y’) f(1,1)
13
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial13 / INF Overview Introduction Installation (Toolboxes) Layout of Matlab Windows Basics of Matlab language Arithmetic Operation Variables Matrix Plot Functions Programming in Matlab m-file: run large program, build large function Control flow: if-else, while, for
14
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial14 / INF M File Replace command window when running large code Easy management Can be reused in future Define functions / sub-sections Better structure Good for complicated programming/logic
15
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial15 / INF Control Flow If-Else If condition expression(s) 1; else expression(s) 2; end If condition1 expression(s) 1; else if condition2 expression(s) 2; else expression(s) 3; end If t >= 2 F = 40; else if t > 1 F = 30; else if t > 0 F = 20; else F = 10; end
16
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial16 / INF Control Flow For / while for i=1:5; for j=1:3 x(i, j)= i * j; end x = 1 2 3 2 4 6 3 6 9 4 8 12 5 10 15 n=1; while prod ( 1 : n ) < 100; n=n+1; end n Result: n = 5 。 Because 5x4x3x2x1=120
17
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial17 / INF Optimization In Matlab Common optimization functions linprog: linear programming Quadprog: quadratic programming fmincon: constrained non-linear minimization fminsearch, fminunc: unconstrained nonlinear minimization fsolve: non-linear system of equations solve lsqlin: linear least square with linear constraints
18
INFORMS OSUJosh Xiaomin XiA Matlab Tutorial18 / INF Optimization: linprog linprog: linear programming http://www.mathworks.com/help/optim/ug/linprog.html Min f(x) = –5x1 –4x2 –6x3 s.t. x1 – x2 + x3 ≤ 20 3x1 + 2x2 + 4x3 ≤ 42 3x1 + 2x2 ≤ 30 0 ≤ x1, 0 ≤ x2, 0 ≤ x3.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.