Presentation is loading. Please wait.

Presentation is loading. Please wait.

Josh Xiaomin Xi PhD Candidate Feb 27, 2013 A tutorial from.

Similar presentations


Presentation on theme: "Josh Xiaomin Xi PhD Candidate Feb 27, 2013 A tutorial from."— Presentation transcript:

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.


Download ppt "Josh Xiaomin Xi PhD Candidate Feb 27, 2013 A tutorial from."

Similar presentations


Ads by Google