Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование инженерных систем и технологических процессов. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
>> 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]