matlab/simulink basics

33
MATLAB/Simulink MATLAB/Simulink Basics

Upload: others

Post on 11-Feb-2022

52 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MATLAB/Simulink Basics

MATLAB/Simulink MATLAB/Simulink Basics

Page 2: MATLAB/Simulink Basics

Matlab 구조Command windowM editor: m fileM-editor: m-fileBasic commandsMathematical operatorsComplex number pi inf NaNComplex number, pi, inf, NaN, Who, clear, clear allMatrix operationsArray operationsArray operationsGraphicsFunctionOde solverOde so ve

Polynomials poly, conv, rootsTF d

Control functions: tf2ss, ss2tf, t

TF num, den

step

Page 3: MATLAB/Simulink Basics
Page 4: MATLAB/Simulink Basics

Basic math operator + - * / ^Basic math operator +, -, , /,

Case sensitive!

Page 5: MATLAB/Simulink Basics
Page 6: MATLAB/Simulink Basics

Matrix operation

Page 7: MATLAB/Simulink Basics
Page 8: MATLAB/Simulink Basics

Elementwise

Page 9: MATLAB/Simulink Basics
Page 10: MATLAB/Simulink Basics
Page 11: MATLAB/Simulink Basics
Page 12: MATLAB/Simulink Basics
Page 13: MATLAB/Simulink Basics

<Creating a function>g

Page 14: MATLAB/Simulink Basics
Page 15: MATLAB/Simulink Basics
Page 16: MATLAB/Simulink Basics

Polynomials

02337 23 =+−+ sss

solution>> roots([1 7 -3 23])

ans =

-7.7674 0 383 1 6 4i

0)6)(5)(2( =+++ sssConvert into polynomial

0.3837 + 1.6774i0.3837 - 1.6774i

0)6)(5)(( sssConvert into polynomial

>> poly([-2 -5 -6])

ans =

1 13 52 60

Page 17: MATLAB/Simulink Basics

Polynomial multiplicationy p)1263)(9107( 23423 +++−+++ sssssss

>> conv([1 7 10 9],[1 -3 6 2 1])

ans =

1 4 5 23 48 81 28 91 4 -5 23 48 81 28 9

Convert the transfer function into state space representation

24)24269( 23 +++ sss

>> num=24;>> den=[1 9 26 24];

>> [A,B, C,D]=tf2ss(num, den)

>> [num,den]=ss2tf(A,B,C,D,1)

Page 18: MATLAB/Simulink Basics

Time response τθθθ =++ cos2 mglbml &&&τ

θ

θ&=

=

2

1

xx

τθ

θ

+−−==

==

212

21

cos bxxLx

xx

&&&

&&

2 212 g

% Simulation of Inverted Pendulum% Simulation of Inverted Pendulum

t0 = 0;tf = 30;x0=[10*pi/180; 0];

function xdot=inv_pend_damped(t,x)

g=9.81;x0=[10*pi/180; 0];

%[t,x] = ode23('inv_pend', [t0:0.1:tf], x0);[t,x] = ode23('inv_pend_damped', [t0:0.1:tf], x0);

l= 1;b=1;

%define input u

figuresubplot(311)plot(t, x(:,1)*180/pi)grid

%u=0; %natural response%u=10; % unit step inputu=10* sin(5*t); %sine input

gridsubplot(312)plot(t, x(:,2)*180/pi)grid%phase plot

x1dot = x(2);x2dot = -g/l * cos(x(1)) - b*x(2) + u;

xdot =[x1dot; x2dot];%phase plotsubplot(313)plot(x(:,1)*180/pi, x(:,2)*180/pi)grid

Page 19: MATLAB/Simulink Basics
Page 20: MATLAB/Simulink Basics
Page 21: MATLAB/Simulink Basics
Page 22: MATLAB/Simulink Basics
Page 23: MATLAB/Simulink Basics
Page 24: MATLAB/Simulink Basics
Page 25: MATLAB/Simulink Basics
Page 26: MATLAB/Simulink Basics
Page 27: MATLAB/Simulink Basics
Page 28: MATLAB/Simulink Basics
Page 29: MATLAB/Simulink Basics
Page 30: MATLAB/Simulink Basics
Page 31: MATLAB/Simulink Basics
Page 32: MATLAB/Simulink Basics

Simulink basics

Time response of the system represented in transfer function

Page 33: MATLAB/Simulink Basics

Time response of a system represented in state space form

>> figure>> plot(time_ss,y_ss)