1. Trang chủ
  2. » Công Nghệ Thông Tin

matlab tutorial slides

18 280 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 389,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Josh Xiaomin Xi PhD Candidate Feb 27, 2013 A tutorial from...  MATLAB: MATrix and LABoratory  First developed by Dr.. INFORMS OSU Josh Xiaomin XiIntro: Installation  Go to: http://oci

Trang 1

Josh Xiaomin

Xi

PhD Candidate

Feb 27, 2013

A tutorial from

Trang 2

INFORMS OSU Josh Xiaomin Xi

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

Trang 3

 MATLAB: MATrix and LABoratory

 First developed by Dr Cleve Molder: Fortran based

 In 1984, MathWorks was founded: C based

Trang 4

INFORMS OSU Josh Xiaomin Xi

Intro: Installation

 Go to: http://ocio.osu.edu/software/directory/slwin/

Trang 5

Intro: Installation

 Select the tool boxes that you need

 e.g Matlab, curve fitting, optimization, statistics, symbolic math, etc

Trang 6

INFORMS OSU Josh Xiaomin Xi

Intro: Matlab Windows

Layout

Command Window

 Command History

 Current Directory Browser

 Workspace Browser

Trang 7

 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

Trang 8

INFORMS OSU Josh Xiaomin Xi

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

Trang 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.

Trang 10

INFORMS OSU Josh Xiaomin Xi

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()

Trang 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

/ sin ,

t

y e = − t t[ , 0 4 π ]

 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

Trang 12

INFORMS OSU Josh Xiaomin Xi

Basics: Functions

 Use “sym” / “syms”

 Use “inline”

2

3 sin( 2 )

f = xy

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)

Trang 13

 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

Trang 14

INFORMS OSU Josh Xiaomin Xi

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

Trang 15

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



<

<

<

=

2 40

2 1

30

1 0

20

0 10

t t t

t F

If t >= 2

F = 40;

else if t > 1

F = 30;

else if t > 0

F = 20;

else

F = 10;

end

Trang 16

INFORMS OSU Josh Xiaomin Xi

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

Because 5x4x3x2x1=120

Trang 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

Trang 18

INFORMS OSU Josh Xiaomin Xi

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

Ngày đăng: 24/10/2014, 23:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w