Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование инженерных систем и технологических процессов. Учебное пособие.pdf
X
- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ В MATLAB
- •ПОСТРОЕНИЕ ГРАФИКОВ
- •СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ
- •СИСТЕМНЫЙ АНАЛИЗ В MATLAB
- •ПРАКТИЧЕСКАЯ РАБОТА № 1
- •ПРАКТИЧЕСКАЯ РАБОТА № 2
- •ПРАКТИЧЕСКАЯ РАБОТА № 3
- •ПРАКТИЧЕСКАЯ РАБОТА № 4
- •ПРАКТИЧЕСКАЯ РАБОТА № 5
- •ПРАКТИЧЕСКАЯ РАБОТА № 6
- •ПРАКТИЧЕСКАЯ РАБОТА № 7
- •ПРАКТИЧЕСКАЯ РАБОТА № 8
- •ПРАКТИЧЕСКАЯ РАБОТА № 9
- •ПРАКТИЧЕСКАЯ РАБОТА № 10
- •ПРАКТИЧЕСКАЯ РАБОТА № 11
- •ПРАКТИЧЕСКАЯ РАБОТА № 12

>> limit( x/abs(x), x, 0 )
ans = NaN
>> limit( x/abs(x), x, 0, 'right' )
ans = 1
Решение уравнений выполняется с помощью команды solve.
>> syms a b c x
>> S = a*x^2 + b*x + c;
>> solve(S)
ans =-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
>> b = solve(S,b)
b = -(a*x^2 + c)/x
>> d = solve('x^2=1')
d =1
-1
>> [x,y] = solve('x*y=1', 'x-y/2=alpha')
x = alpha/2 + (alpha^2 + 2)^(1/2)/2
alpha/2 - (alpha^2 + 2)^(1/2)/2
y = (alpha^2 + 2)^(1/2) - alpha
- alpha - (alpha^2 + 2)^(1/2)
21

СИСТЕМНЫЙ АНАЛИЗ В MATLAB
Передаточная функция системы объявляется с командой tf:
num=[5 0]; den=[1 0 2]; G=tf(num,den);%непрерывные
s=tf('s'); G=5*s/(s^2+2);
num=[1 2]; den=[1 0]; Ts=1; G=tf(num,den,Ts);%дискретные
z=tf('z',1); G=(z+2)/z;
Модель в пространстве состояний (state space model) определяет-
ся командой ss:
A=[-1 2;0 -1]; B=[0;1]; C=[1 0]; D=[0]; G=ss(A,B,C,D);
Полюса и нули системы могут быть найдены с помощью функ-
ций pole и zero:
s=tf('s'); G=(2*s+3)/(s^2+4*s+1); p=pole(G); z=zero(G);
p = -3.7321 -1.5000, z = -0.2679;
Шаг отклика системы можно получить с помощью команды step:
y=step(G,t);
Ответ на пользовательский ввод может быть получен с помощью
команды lsim:
y=lsim(G,u,t);
Частотные характеристики можно показать с помощью команды
bode:
s=tf('s');
G=(1000*s+1000)/((s+0.1)*(s+100));
bode(G),grid
22

Рис. 10. Полученный в примере график
-20
0
20
40
Magnit ude (dB )
10
-2
10
0
10
2
10
4
-90
-45
0
Phase (deg)
Bode Diagram
Frequency (rad/s)
23

ПРАКТИЧЕСКАЯ РАБОТА № 1
1
() .
( 2)
Gsss=
+
Напишите программу в Matlab, которая будет вычислять и изо-
бражать выходной сигнал от следующего входного сигнала:
Рис. 11. Пример изображения выходного сигнала
Листинг программы:
clear all;close all;clc;
s=tf('s');
G=1/(s*(s+2));
t=0:0.01:30;
u(1:501)=0;
u(501:1001)=1;
u(1001:1501)=0;
u(1501:2001)=-2;
u(2001:2501)=1;
u(2501:3001)=0;
y=lsim(G,u,t);
figure,plot(t,u, t,y),xlabel('t[s]'),ylabel('u[t], y(t)')
24

0 5 10 15 20 25 30
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
t[s]
u[t], y(t)
Рис. 12. Результаты работы программы
25

ПРАКТИЧЕСКАЯ РАБОТА № 2
1
() .
( 2)
s
Ws
ss
−
=
+
0
1
2
3
4
5
6
7
8
9
10
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
t
y,e
1. Напишите программу в Matlab, которая будет изображать на
одном графике сигналы y(t) и e(t) системы с контуром обратной связи, показанной на картинке:
Рис. 13. Система с контуром обратной связи
Листинг программы:
clear all;close all;clc;
s=tf('s');
W=(1-s)/(s^2+2*s);
t=0:0.01:10;
G=1/(1+W)
y=step(G,t);
e=1-step(G,t);
figure,plot(t,y,t,e),xlabel('t'),ylabel('y,e')
Рис. 14. Результаты работы программы
26

ПРАКТИЧЕСКАЯ РАБОТА № 3
1
43 2
8,5
() .
6 14,25 16,5 8,5
Gs
ss s s
=
++ + +
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
t[s]
G1, G2
Передаточная функция системы:
Аппроксимируйте эту систему системой второго порядка, кото-
рая состоит из пары доминирующих полюсов и сравнить на графике
оригинал и аппроксимированную систему.
Листинг программы:
clear all;close all;clc;
s=tf('s');
G1=8.5/(s^4+6*s^3+14.25*s^2+16.5*s+8.5);
p=pole(G1)
G2=2/((s-min(p))*(s-conj(min(p))))
t=0:0.01:10;
y1=step(G1,t);
y2=step(G2,t);
figure,plot(t,y1,t,y2),xlabel('t[s]'),ylabel('G1, G2')
Рис. 15. Результаты работы программы.
27

G2 =
2
-------------
s^2 + 2 s + 2
Continuous-time transfer function.
28

ПРАКТИЧЕСКАЯ РАБОТА № 4
4
2
10
() .
( 0,1)( 1)( 200 10025)
Ws
s ss s
=
+ +++
Напишите программу в Matlab, которая отображает частотные
характеристики и вычисляет фазы и запас по амплитуде системы:
Листинг программы:
clear all;close all;clc;
s=tf('s');
G1=10^4/((s+0.1)*(s+1)*(s^2+200*s+10025));
bode(G1),grid
[amp,phase,w]=bode(G1);
amp1=1000;
phasepi=1000;
for i=1:length(amp)
if(abs(1-amp(i))<=abs(1-amp1))
w1=w(i)
amp1=amp(i);
phase1=phase(i);
end
if(abs(-180-phase(i))<=abs(-180-phasepi))
wpi=w(i)
amppi=amp(i);
phasepi=phase(i);
end
end
phase_m=180+phase1;
amp_m=1/amppi;
29

-300
-200
-100
0
100
Magnitude (dB)
10
-2
10
0
10
2
10
4
-360
-270
-180
-90
0
Phase (deg)
Bode Diagram
Frequency (rad/ s)
Рис. 16. Результаты работы программы
Аналогичные результаты можно получить, используя команду
ltiview(G1), с соответствующими настройками в меню “Plot
Configuration”.
Рис. 17. Результаты работы программы, используя команду ltiview(G1)
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
