1 / 18

Josh Xiaomin Xi PhD Candidate Feb 27, 2013

Josh Xiaomin Xi PhD Candidate Feb 27, 2013. A tutorial from. 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

suchin
Download Presentation

Josh Xiaomin Xi PhD Candidate Feb 27, 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Josh Xiaomin XiPhD CandidateFeb 27, 2013 A tutorial from

  2. 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. Intro • MATLAB: MATrix and LABoratory • First developed by Dr. Cleve Molder: Fortran based • In 1984, MathWorks was founded: C based

  4. Intro: Installation • Go to: http://ocio.osu.edu/software/directory/slwin/

  5. Intro: Installation • Select the tool boxes that you need • e.g. Matlab, curve fitting, optimization, statistics, symbolic math, etc.

  6. Intro: Matlab Windows Layout • Command Window • Command History • Current Directory Browser • Workspace Browser

  7. 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. 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. 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. 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. 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 • Other 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

  12. Basics: Functions • Use “sym” / “syms” • Use “inline” f=inline(‘3*sin(2*x^2-y)’) f=inline(‘3*sin(2*x^2-y)’,’x’,’y’) f(1,1) 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)

  13. 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. 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. Control Flow If condition1 expression(s) 1; else if condition2 expression(s) 2; else expression(s) 3; end If condition expression(s) 1; else expression(s) 2; end • If-Else If t >= 2 F = 40; else if t > 1 F = 30; else if t > 0 F = 20; else F = 10; end

  16. Control Flow • For / while for i=1:5; for j=1:3 x(i , j)= i * j; end 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. 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. Optimization: linprog • linprog: linear programming 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. http://www.mathworks.com/help/optim/ug/linprog.html

More Related