,,,
:
2005
. 3
1. . 4
2. . 19
3. . 32
4. . 53
.. 66
. , . Matlab. , .
, , , , . .
, . 1.1.
. 1.1. : ; ; - ; ;
- Matlab (c Simulink). () , . ( ) , , . , .. . , (), , ( , , ó, b b2, ).
, . 1.1. .
1.1
|
|
||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
c | 1 | 1.5 | 2 | 2.5 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 | 7 | 7.5 | 8 |
b | 0.1 | 0.2 | 0.25 | 0.25 | 0.3 | 0.35 | 0.4 | 0.5 | 0.5 | 0.6 | 0.8 | 1 | 1.2 | 1.3 | 1.5 |
b2 |
1.1 | 1.7 | 2.25 | 2.75 | 3.3 | 3.85 | 4.4 | 5 | 5.5 | 6.1 | 6.8 | 7.5 | 8.2 | 8.8 | 9.5 |
t |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
. 1.1 , 10 - 20 .
, , :
, (1.1)
,
t ; ( ) ( ); .
, .
, , ..
,
,
N () .
:
, (1.2)
.
.
2 : - TN_prog.m TN_mod.mdl. : , m‑, , m‑, Simulink (Workspace), m‑. TN_prog.m .
:
.
clear all %
close all %
,
% TN_mod.mdl
%1 -
%2 -
%3 -
%4 -
%5 -
config = 5;
% nlin
switch config
case 1,
nlin = '. 2‑ . ';
case 2,
nlin = '- . .';
case 3,
nlin = '3‑ . .';
case 4,
nlin = '2‑ . .';
case 5,
nlin = '';
end
%,
c = 6;
b = 1;
b2 = 7;
%
t_end = 10; % ,
step = 1e‑3;% ,
%
N = 15; %
A = 10; %
lambda = 2*pi*N/t_end; %
ksi = 1.5/sqrt((pi*N)^2+2.25); %
%ksi = 0;
omega = (2*pi*N)/(t_end*sqrt (1‑ksi^2));%
gamma = ksi*omega; %
%
open_system ('TN_mod.mdl');
%
sim ('TN_mod');
% (. 1)
figure(1) %
title([' e(t) y(t). ', nlin, ', b=', num2str(b), ', b2=', num2str(b2),
', c=', num2str(c)]) %
xlabel ('t , c') %
ylabel ('e , g ') % Y
grid on %
hold on
plot (t, e, '-r') %
% , X Y,
%
plot (t, g, '-b') %
legend (' ', ' ', 4)% ,
%
% (. 2)
figure(2)
title(['- - g(e). ', nlin, ', b=', num2str(b), ', b2=', num2str(b2),
', c=', num2str(c)])
xlabel ('e ')
ylabel ('g ')
% X Y: [Xmin, Xmax, Ymin, Ymax]
if config == 5
axis ([-A*1.1 A*1.1 (A-b)*1.1 (A-b)*1.1])
else
axis ([-A*1.1 A*1.1 c*1.1 c*1.1])
end
grid on
hold on
plot (e, g, '-r')
Matlab, , .
- , , , , config, . m‑ , , , .
. , (. 1.2). Matlab, .
, -. Simulation parameters, Simulation\Simulation parameters , mdl‑ (. 1.3).
, m‑. .
. 1.2.
. 1.3.
Constant () Sources, Gain ( ) Math config ( Multiport Switch Nonlinear).
Fcn Functions & Tables (1.1). Fcn . 1.4.
. 1.4. Fcn
Fcn Clock Sources (. 1.5).
. 1.5. Clock
Nonlinear: Backlash (), Dead Zone ( ), Saturation ( ), Relay ( ).
Relay (. 1.6).
. 1.6.
Relay (. 1.7).
. 1.7. Relay
: Dead Zone, Gain Saturation (. 1.8, 1.9).
. 1.8.
ࠠ
. 1.9. , : Dead Zone; Saturation; - Gain
(. 1.10, 1.11).
. 1.10.
ࠠ
. 1.11. , : Relay1; Relay2
Backlash (. 1.12).
. 1.12. Backlash
, To Workspace ( Sinks), , . Simulink -.
To Workspace :
ü (Save format) - Array ();
ü (Variable name) - t;
ü (Limit data points to last) - inf;
ü (Simple time) - (-1);
ü (Decimation) - 1 ( ).
. 1.13.
. 1.13. To Workspace,
- . TN_prog.m, config . (1.2). b2 , 0 b .
m‑ . - Simulink, ( , .. ). ; , .
, Edit\Copy Figure, - , MS Word.
23 (0<A<b, b<A<b2, A>b2 ; 0<A<b, A>b , , ). , 23 . , . .
. 1.4.1 1.4.4 .
: , , , .
.
:
( - );
.
: , . , , .. , (b, b2, c) . .
. , , , , . .
.
4, , .
: , , , .
: config.
: ?
Simulink: .
Simulink: Nonlinear.
Simulink: Nonlinear. ?
2.( ) ( ).
. 2.1 : u ; e (); g ; x ; y ( ); (); k ; c, b ; .
. 2.1.
Matlab Simulink.
() , . 2.1. .
2.1
|
|
||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
c | 1 | 1.5 | 2 | 2.5 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 | 6 | 6.5 | 7 | 7.5 | 8 |
b | 0.1 | 0.2 | 0.25 | 0.25 | 0.3 | 0.35 | 0.4 | 0.5 | 0.5 | 0.6 | 0.8 | 1 | 1.2 | 1.3 | 1.5 |
k | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
T | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 |
, . 2.1:
1) + ;
2) + ;
3) + ;
4) + ;
, .
(m‑) Simulink (mdl‑). , : , m‑, , m‑, Simulink (Workspace), m‑. m‑ (FP_prog.m) .
% ( FP_prog.m)
% : FP_mod.mdl.
% : , .
%
clear all
close all
% ,
% FP_mod.mdl
%1 - , k/p^2
%2 - , k/[(Tp+1) p]
%3 - , k/p^2
%4 , k/[(Tp+1) p]
config = 1;
% nlin lin
switch config
case 1,
nlin = '. 2‑ . '; lin = 'k/p^2';
case 2,
nlin = '. 2‑ . '; lin = 'k/[(Tp+1) p]';
case 3,
nlin = '2‑ . .'; lin = 'k/p^2';
case 4,
nlin = '2‑ . .'; lin = 'k/[(Tp+1) p]';
end
% , c
t_end = 20;
%
step_max = 0.005;
%
b = 0.1;
c = 1;
%
k = 1;
T = 0.4;
%
alfa = 0.0;
% :
% ,
% , .. Oxy;
% : [x0_min, x0_max];
% y: [y0_min, y0_max];
% dy
% dx
%
x0_min = -1.5;
y0_min = -1.5;
x0_max = 1.5;
y0_max = 1.5;
%
dx = 0.8;
dy = 0.9;
%
x0 = x0_min;
y0 = y0_min;
%
%'r' red, ;
%'g' green, ;
%'c' cyan, ;
%'m' magenta, ;
%'k' black, ;
%'y' yellow, ;
%'b' blue,
color = ['r';'g';'c';'m';'k'];%
%color = 'r'; %
%
figure(1)
xlabel('x')
ylabel('y')
title([' . ', nlin, ', b=', num2str(b), ', c=', num2str(c), '; ',
lin, ', k=', num2str(k), ', T=', num2str(T), '; alfa=', num2str(alfa)])
hold on
grid on
%
open_system ('FP_mod.mdl');
%
i=0;
% ;
%,
while x0 <= x0_max
i = i+1; %
if i == length(color)+1
i=1;
end
x0_ = x0; %
y0_ = y0; %
sim ('FP_mod'); %
gr1 = plot (x, y); %x y workspace
set (gr1, {'Color'}, {color(i)});
y0 = y0 + dy;
if y0 > y0_max
y0 = y0_min;
x0 = x0 + dx;
end
end
% /
y1 = [-2.5; 2.5];
if (config == 1) | (config == 2)
x1 = alfa.*y1; % , . 2‑ .
gr2 = plot (x1, y1);
set (gr2, {'Color'}, {'b'});
else
x11 = alfa.* y1 + b; %
x12 = alfa.* y1 b; %, 2‑ . .
gr2 = plot (x11, y1);
set (gr2, {'Color'}, {'b'});
gr2 = plot (x12, y1);
set (gr2, {'Color'}, {'b'});
end
% ,
%
figure(2)
xlabel ('t, c')
ylabel ('x, y')
title(['x(t) y(t). ', nlin, ', b=', num2str(b), ', c=', num2str(c), '; ',
lin, ', k=', num2str(k), ', T=', num2str(T), '; alfa=', num2str(alfa),
'; x0=', num2str (x0_), '; y0=', num2str (y0_)])
hold on
grid on
gr3 = plot (time, x);
set (gr3, {'Color'}, {'r'});
gr4 = plot (time, y);
set (gr4, {'Color'}, {'b'});
legend ('x(t)', 'y(t)', 4);
Matlab, , .
m‑ , , , , , config, .
m‑ , x y. (t) y(t), . .
Simulink Simulink (Math, Nonlinear, Sinks Sources) Simulink Extras (Additional Linear), Simulink Library Browser. - FP_mod.mdl . 2.2.
Simulink - Simulink Extras\Additional Linear.
config, m‑.
, , -. Simulation parameters, Simulation\Simulation parameters , mdl‑ (. 2.3).
. 2.2.
. 2.3.
. 2.4 2.6. , m‑. .
. 2.4. To Workspace
ࠠ
. 2.5. :
;
ࠠ
. 2.6. : ; ; -
. x(t) y(t).
(a0.1 0.5) , . , .
a , . , .
, + , . 2.4.1 2.4.3.
, + . , , , (), (). x(t) y(t).
(a0.1 0.5) , . , , , : ) ; ) . .
a , . , . 2.4.6.
, + . , .
, , .
, , .
: ( , ; , ; ).
( , , x(t) y(t)).
( , , .). ( ).
4, , .
.
. () ?
. .
: , .
, / / .
.
(, ) ?
3.
, . 3.1, Matlab Simulink. :
ݠ : (. 3.2, ), (. 3.2, ) (. 3.2, );
W () (); . 3.1 .
. 3.1.
ࠠ ᠠ
. 3.2. : , , -
3.1
|
|
1 | |
2 | |
3 | |
4 |
, , , w, . , , .. , . (-1, j0), ..
,
:
.
: ; , , w, ; ; .
. 3.2 . 3.1 3.2 :
1) ;
2) .
, .
q(A) q1(A) .
W(jw), () , ( W(jw)) .
3.2
|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
W() |
W1 |
W2 |
W3 |
W4 |
W1 |
W2 |
W3 |
W4 |
|
|
1, 2 |
2, 3 |
1, 3 |
1, 3 |
2, 3 |
1, 3 |
1, 2 |
1, 3 |
|
|
k |
6 | 5 | 3 | 4 | 15 | 2 | 10 | 8 |
T1 |
0.1 | 0.2 | 10 | 0.4 | 0.5 | 0.6 | 9 | 0.8 | |
T2 |
0.2 | 0.4 | 5 | 0.8 | 1.0 | 1.2 | 6 | 1.6 | |
T3 |
1 | - | 0.1 | - | 5 | - | 0.2 | - | |
b |
0.1 | 0.2 | 0.25 | 0.25 | 0.3 | 0.35 | 0.4 | 0.5 | |
c |
1 | 1.5 | 2 | 2.5 | 3 | 3.5 | 4 | 4.5 | |
|
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
W() |
W1 |
W2 |
W3 |
W4 |
W1 |
W2 |
W3 |
W4 |
|
|
1, 3 |
1, 2 |
1, 2 |
1, 3 |
1, 2 |
2, 3 |
1, 3 |
1, 3 |
|
|
k |
15 | 10 | 9 | 6 | 7 | 8 | 5 | 7 |
T1 |
0.9 | 1.0 | 7 | 0.6 | 0.2 | 0.3 | 9 | 0.7 | |
T2 |
1.8 | 2.0 | 5 | 1.2 | 0.3 | 0.5 | 4 | 1.5 | |
T3 |
9 | - | 0.3 | - | 1.5 | - | 0.2 | - | |
b |
0.5 | 1.0 | 0.5 | 0.35 | 0.3 | 0.35 | 0.35 | 0.45 | |
c |
5 | 6 | 5.5 | 3 | 2 | 2.5 | 3 | 4 |
: . , , , .
( GB_prog.m) ( GB_mod.mdl R_Fourie.mdl).
c , GB_prog.m. GB_prog.m GB_mod.mdl, GB_prog.m R_Fourie.mdl.
C GB_prog.m:
%
% : GB_prog.m, GB_mod.mdl R_Fourie.mdl.
% : , .
%
clear all
%
set (0,'ShowHiddenHandles', 'on')
delete (get(0,'Children'))
% ,
% GB_mod.mdl
%1 -
%2 -
%3 -
config_nlin = 2;
% ,
% GB_mod.mdl
%1 W1 (p)=k/[(T1*p+1) (T2*p+1) (T3p+1)]
%2 W2 (p)=k/[(T1*p+1) (T2*p+1) p]
%3 W3 (p)=[k (T1*p+1)]/[(T2*p‑1)^2 (T3*p+1)^2]
%4 W4 (p)=[k (T1*p+1)]/[(T2*p‑1) p]
config_lin = 2;
k = 5;
T1 = 0.1;
T2 = 0.2;
T3 = 1;
b = 0.1;
c = 1;
% c
%
%
switch config_lin
case 1,
% , ( )
w = [0.02:0.01:100];
%
W_lin = k./ ((T1*j*w+1).* (T2*j*w+1).*(T3*j*w+1));
% lin
lin = 'W1 (p)';
case 2,
% , ( )
w = [2:0.01:100];
%
W_lin = k./ ((T1*j*w+1).* (T2*j*w+1).*(j*w));
% lin
lin = 'W2 (p)';
case 3,
% , ( )
w = [0.01:0.01:300];
%
W_lin = (k*(T1*j*w+1))./ ((T2*j*w‑1).^2.*(T3*j*w+1).^2);
% lin
lin = 'W3 (p)';
case 4,
% , ( )
w = [1:0.01:100];
%
W_lin = (k*(T1*j*w+1))./ ((T2*j*w‑1).*(j*w));
% lin
lin = 'W4 (p)';
end
% W_lin(jw)
SYSL = frd (W_lin, w);
%
%
switch config_nlin
case 1,
% ,
A = [b:0.01:3.0];
%
q = 2*c/(pi*b).* ((2*b./A).* sqrt (1 (b./A).^2));
q1 = -2*c/(pi*b).* 2*(b./A).^2;
% nlin
nlin = '2‑ . .';
case 2,
% ,
A = [b+0.0001:0.005:b*sqrt(2)];
A_ = [b*sqrt(2):0.005:3.0];
%
q = (4*c./ (pi*A)).* sqrt (1 (b./A).^2);
q1 = 0;
q_ = (4*c./ (pi*A_)).* sqrt (1 (b./A_).^2);
q1_ = 0;
% W_nlin(jA)
W_nlin_ = q_ + j*q1_;
% -1/W_nlin(jA)
S_ = -1./W_nlin_;
% -1/W_nlin(jA)
SYSN_ = frd (S_, A_);
% nlin
nlin = '3‑ . .';
case 3,
% ,
A = [b+0.001:0.01:100];
%
alfa = asin (12*b./A);
q = (1/pi)*(pi/2+alfa+0.5*sin (2*alfa));
q1 = (4*b).* (1‑b./A)./ (pi*A);
% nlin
nlin = '';
end
% W_nlin(jA)
W_nlin = q + j*q1;
% -1/W_nlin(jA)
S = -1./W_nlin;
% -1/W_nlin(jA)
SYSN = frd (S, A);
%
%
% W_lin(jw) -1/W_nlin(jA) plot ( )
figure(1)
gr_W_lin = plot (real(W_lin), imag (W_lin));
set (gr_W_lin, {'Color'}, {'r'});
hold on
gr_S = plot (real(S), imag(S));
set (gr_S, {'Color'}, {'b'});
title([' . . ', nlin, ', b=', num2str(b), ', c=', num2str(c), '; ',
lin, ', k=', num2str(k), ', T1=', num2str(T1), ', T2=', num2str(T2),
', T3=', num2str(T3)])
xlabel ('re(W lin), re(S)');
ylabel ('im(W lin), im(S)');
legend ('W lin(jw)', 'S(jA)', 0);
grid on
%
% W_lin(jw) -1/W_nlin(jA) LTI Viewer
if config_nlin == 2
ltiview({'nyquist'}, SYSL, '-b', SYSN, '-r')
ltiview({'nyquist'}, SYSL, '-b', SYSN_, '-r')
else
ltiview({'nyquist'}, SYSL, '-b', SYSN, '-r')
end
%
%
%c
%====================================================
%^^^^^^^^^^^^^^ ()^^^^^^^^^^^^^^^^^^^^^
%
%
t_end = 15;
%
step_max = 0.005;
%
y0 = 0.5;
%
open_system ('GB_mod.mdl');
%
sim ('GB_mod');
%
Max_Step_Size = get_param ('GB_mod', 'MaxStep');
Stop_Time = get_param ('GB_mod', 'StopTime');
% vec_period vec_amp
%(
% , )
clc %
period = vec_period (length(vec_period));
clear vec_period;
amp_kol = vec_amp (length(vec_amp))%
clear vec_amp;
% (
% )
frequency = 1/period;
w_kol = 2*pi*frequency %
%
figure(2)
gr = plot (t_and_y(:, 1), t_and_y(:, 2));
set (gr, {'Color'}, {'r'});
title([' y(t). ', nlin, ', b=', num2str(b), ', c=', num2str(c), '; ',
lin, ', k=', num2str(k), ', T1=', num2str(T1), ', T2=', num2str(T2),
', T3=', num2str(T3), ', y0=', num2str(y0)])
xlabel(['t, c ..=', num2str (amp_kol), ', W=', num2str (w_kol), 'c^-1']);
ylabel('y');
grid on
%
%
%close_system ('GB_mod', 1)
%=====================================================
%^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
% ,
open_system ('R_Fourie.mdl');
% 'GB_mod.mdl' R_Fourie.mdl
set_param ('R_Fourie', 'MaxStep', Max_Step_Size);
set_param ('R_Fourie', 'StopTime', Stop_Time);
% ,
sim ('R_Fourie');
%
%close_system ('R_Fourie', 1)
% ,
% (
% , )
magn_0=vec_magn_0 (length(vec_magn_0));
clear vec_magn_0;
magn_1=vec_magn_1 (length(vec_magn_1));
clear vec_magn_1;
magn_2=vec_magn_2 (length(vec_magn_2));
clear vec_magn_2;
magn_3=vec_magn_3 (length(vec_magn_3));
clear vec_magn_3;
magn_4=vec_magn_4 (length(vec_magn_4));
clear vec_magn_4;
magn_5=vec_magn_5 (length(vec_magn_5));
clear vec_magn_5;
%
filtration = magn_1/magn_3
%
figure(3);
bar([0 1 2 3 4 5], [magn_0 magn_1 magn_2 magn_3 magn_4 magn_5]);
grid on
title(['. y(t). ', nlin, ', b=', num2str(b),
', c=', num2str(c), '; ', lin, ', k=', num2str(k), ', T1=', num2str(T1),
', T2=', num2str(T2), ', T3=', num2str(T3)])
xlabel([' : A1/A3=', num2str(filtration)]);
ylabel (' ');
Matlab, , .
m‑ , , .
m‑ ( ) ( ). W(jw) : plot ltiview. - W(-jw) , . , : zoom , , , , . ltiview.
(GB_mod.mdl). y(t) , ( ).
(R_Fourie.mdl), y(t), , . , / .
Simulink (GB_mod.mdl R_Fourie.mdl) Simulink (Math, Linear, Nonlinear, Signals & Systems, Sinks Sources), Simulink Extras (Additional Linear) Power System Blockset (Extra Library\Measurements), Simulink Library Browser (. 3.3 3.6). GB_mod.mdl, . 3.3, , config_lin config_nlin, m‑ GB_prog.m.
Simulation parameters, Simulation\Simulation parameters , mdl‑ (. 3.7, 3.8).
GB_mod.mdl R_Fourie.mdl . 3.9 3.15.
. 3.4.
( GB_mod.mdl)
. 3.5. ( GB_mod.mdl)
. 3.6. Simulink, ( R_Fourie.mdl)
. 3.7. GB_mod.mdl
. 3.8. R_Fourie.mdl
ࠠ
. 3.9. ( GB_mod.mdl): Relay1; Relay2
ࠠ
. 3.10. ( GB_mod.mdl): ;
ࠠ
. 3.11. ( GB_mod.mdl): ;
. 3.12. To Workspace ( GB_mod.mdl)
ࠠ
. 3.13. ( GB_mod.mdl): Saturation2; Memory1
. 3.14. Fourier ( R_Fourie.mdl)
. 3.15. From Workspace ( R_Fourie.mdl)
(m‑) : , .. ; .
m‑ . plot W(-jw) 1/W(jA). w, LTI Viewer.
, (..) ( y(0)< y(0)>). , m‑ .. y(t).
, , , R_Fourie.mdl, , .. , ; .
: k, . .
, config_nlin m‑, . 3.3.2 - 3.3.5.
, , .
, . 3.2.2 - 3.2.4.
( , , , ; y(t) ; ).
( , / , , ).
( / , ).
4, , .
: , , . . -: . .
.
. , , . . , . . , , , .
:
ü ;
ü MATLAB ;
ü ;
ü () ;
ü .
. 4.1 .
4.1
Wob(p) |
Wob(p) |
||||
1 | 6 |
T1=0.2; T2=0.1; ξ = 0.1 |
|||
2 |
T1=0.1 |
7 |
1=2; T2=1; T3=1 |
||
3 |
T1=2; ξ=0.1 |
8 |
T1=0.2; ξ=0.1 |
||
4 |
T1=2; T2=1 |
9 |
T1=2; T2=1 |
||
5 |
T1=5 |
10 |
T1=2; ξ=0.1 |
( SSOpt_d.m) SSLOpt_dSim.mdl ( ) SSLKOpt_dSim.mdl ( ).
SSOpt_d.m:
%
%
clc
close_system ('SSLOpt_dSim', 1); % mdl‑
close_system ('SSLKOpt_dSim', 1); % mdl‑
clear all
close all
set (0, 'ShowHiddenHandles', 'on')
delete (get(0,'Children'))
%
hMO = 0.01; % ,
T0 = 0.35; % ,
T_end = 8% 2.5; % ,
top_lim_u = 5000; %
low_lim_u = -5000; %
% p
p = zpk('p');
%
% ( )
%
T1 = 0.2; T2 = 0.1; T3 = 1; ksi = 0.1;
%
disp (' ')
Wn_1 = 1/p^2;
Wn_2 = 1/((T1*p+1)^2);
Wn_3 = 1/(T1^2*p^2+2*ksi*T1*p+1);
Wn_4 = (T1*p+1)/(p*(T2*p+1));
Wn_5 = 1/(p*(T1*p‑1));
Wn_6 = 1/(p*(T1*p+1)^3*(T2^2*p^2+2*ksi*T2*p+1));
Wn_7 = (T1*p+1)/(p*(T2*p‑1)*(T3*p+1));
Wn_8 = 1/(p*(T1^2*p^2+2*ksi*T1*p+1));
Wn_9 = 1/((T1^2*p^2+1)*(T2*p+1));
Wn_10 = 1/(p*(T1^2*p^22*ksi*T1*p+1));
%
Wn = Wn_10
%:
%
%( , )
disp (', ')
[zn_ob, pn_ob, kn_ob] = zpkdata (Wn, 'v')
disp (' R Q ')
[num_n_ob, den_n_ob] = tfdata (Wn, 'v')
disp (' ')
[An_ob, Bn_ob, Cn_ob, Dn_ob] = ssdata(Wn)
n_ob = size (An_ob);%n_ob(1) .
%:
%
sys_n_ob = ss(Wn); % .-.
sys_d_ob = c2d (sys_n_ob, T0); % . .-.
[Ad_ob, Bd_ob, Cd_ob, Dd_ob] = ssdata (sys_d_ob) %
%
ltiview ('step', sys_n_ob, 'r-', sys_d_ob, 'b-');
grid on
%:
%
disp (' ')
Pd = zeros (1, n_ob(1))% -
disp (' ')
Ld = acker (Ad_ob, Bd_ob, Pd)
%Ld = place (Ad_ob, Bd_ob, Pd)
%:
%
%
Ad_z = Ad_ob-Bd_ob*Ld;
% B, C, D
Bd_z = Bd_ob;
Cd_z = Cd_ob;
Dd_z = Dd_ob;
%:
%
sys_d_z = ss (Ad_z, Bd_z, Cd_z, Dd_z);% . . - .-.
disp (' ( )')
poles_sys_d_z = eig (sys_d_z)
%:
%^ - ,
%
%
[num_d_z, den_d_z] = tfdata (sys_d_z, 'v');
disp (' , ')
%,
Kv = 1/sum (num_d_z)
%:
% Simulink
%
% , , . SSLOpt_dSim.mdl ( State-Space) Cn_ob
% , Dn_ob - Dx -
%
Cx = eye (n_ob(1)); % ࠠ
Dx = zeros (n_ob(1), 1); % -
open_system ('SSLOpt_dSim.mdl'); % mdl‑
sim ('SSLOpt_dSim'); %
%:
disp (' ')
P_obs_d = zeros (1, n_ob(1))
%
Matlab, , .
Simulink (SSLOpt_dSim.mdl SSLKOpt_dSim.mdl) Simulink, Math, Linear, Discrete, Nonlinear, Function & Tables, Signals & Systems, Sinks Sources. . 4.1 4.8. Simulation parameters, Simulation\Simulation parameters , mdl‑ (. 4.9).
. 4.3.
. 4.4.
. 4.5.
. 4.6.
. 4.7.
. 4.8.
. 4.9.
(. . 4.1).
.
: , ( 0.4 c), ; .
. , .
, , . .
T0 . .
0. 0.
, , , ( , ). () . m‑ Simulink - . . .
, . , .
, , , .
.
, . 4.3.3.
, , . 4.3.4.
. 4.3.5 .
. 4.3.6 . T0.
. 4.3.7 , .
Matlab, .
.
?
.
?
, ?
A, B, C, D ?
?
1. .. / .. , .. . .: , 1975. 768 .
2. / . .. . .: , 1986. . 2. 504 .
3. / . .. . .: , 1972. . 2. 430 .
4. .. / .. . .: , 1988. 256 .
5. .. / .. . .: , 1977. 560 .
6. . 5‑ ., . . / . .. . .: , 1978. 512 .
7. . 2‑ ., . . / . .. . .: , 1979. 545 .
8. .. Matlab 5.3/6.x / .. . .: -, 2002. 736 .
9. . Matlab: / . . .: , 2001. 560 .
10. . Simulink 4. / . . .: , 2002. 528 .
: 2005
Copyright (c) 2024 Stud-Baza.ru , , , .