📄 simulink.m
字号:
'Mask Display','plot(t(:),r2(:))',...
'Mask Type','Continuous White Noise.')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
'Mask Dialogue','White noise for continuous (s-domain) systems.\nBand-limited using zero-order-hold.|Noise Power:|Sample Time:|Seed')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
'Mask Translate','Cov = @1; Ts = @2; seed = @3; r = rand(1,12); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
'Mask Help','Implemented using white noise into Zero-Order Hold block. The seed and power can be vectors of the same length to produce a vector of white noise sources. For faster simulation, set sample time to the highest value possible but in accordance with the fastest dynamics of system.')
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
'Mask Entries','[0.1]\/0.1\/[23341]\/')
% Finished composite block ['Sources/Band-Limited',13,'White Noise'].
set_param([sys,'/',['Sources/Band-Limited',13,'White Noise']],...
'position',[110,257,155,293])
add_block('built-in/Signal Generator',[sys,'/',['Sources/Signal',13,'Generator']])
set_param([sys,'/',['Sources/Signal',13,'Generator']],...
'Peak','1.000000',...
'Peak Range','5.000000',...
'Freq','1.000000',...
'Freq Range','5.000000',...
'Wave','Sin',...
'Units','Rads',...
'position',[35,83,80,117])
add_block('built-in/Constant',[sys,'/','Sources/Constant'])
set_param([sys,'/','Sources/Constant'],...
'position',[125,90,145,110])
add_block('built-in/Sine Wave',[sys,'/','Sources/Sine Wave'])
set_param([sys,'/','Sources/Sine Wave'],...
'position',[40,150,60,170])
add_block('built-in/Step Fcn',[sys,'/','Sources/Step Input'])
set_param([sys,'/','Sources/Step Input'],...
'position',[125,150,145,170])
add_block('built-in/From File',[sys,'/','Sources/From File'])
set_param([sys,'/','Sources/From File'],...
'position',[15,196,85,224])
add_block('built-in/From Workspace',[sys,'/',['Sources/From',13,'Workspace']])
set_param([sys,'/',['Sources/From',13,'Workspace']],...
'position',[115,192,155,218])
add_block('built-in/Digital Clock',[sys,'/','Sources/Digital Clock'])
set_param([sys,'/','Sources/Digital Clock'],...
'position',[120,35,155,65])
add_block('built-in/Clock',[sys,'/','Sources/Clock'])
set_param([sys,'/','Sources/Clock'],...
'position',[45,40,65,60])
% Subsystem ['Sources/Pulse',13,'Generator'].
new_system([sys,'/',['Sources/Pulse',13,'Generator']])
set_param([sys,'/',['Sources/Pulse',13,'Generator']],'Location',[158,441,759,682])
add_block('built-in/Unit Delay',[sys,'/',['Sources/Pulse',13,'Generator/Unit Delay1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Unit Delay1']],...
'orientation',2,...
'Sample time','[Ts,st2]',...
'x0','ini',...
'position',[140,165,190,185])
add_block('built-in/Unit Delay',[sys,'/',['Sources/Pulse',13,'Generator/Unit Delay']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Unit Delay']],...
'orientation',2,...
'Sample time','[Ts,st1]',...
'position',[145,75,195,95])
add_block('built-in/Constant',[sys,'/',['Sources/Pulse',13,'Generator/Constant']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Constant']],...
'position',[25,30,45,50])
add_block('built-in/Sum',[sys,'/',['Sources/Pulse',13,'Generator/Sum']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Sum']],...
'hide name',0,...
'inputs','+-',...
'position',[135,35,155,55])
add_block('built-in/Sum',[sys,'/',['Sources/Pulse',13,'Generator/Sum1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Sum1']],...
'hide name',0,...
'inputs','+-',...
'position',[130,120,150,140])
add_block('built-in/Relational Operator',[sys,'/',['Sources/Pulse',13,'Generator/Relational',13,'operator']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Relational',13,'operator']],...
'hide name',0,...
'position',[370,102,400,133])
add_block('built-in/Clock',[sys,'/',['Sources/Pulse',13,'Generator/Clock1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Clock1']],...
'hide name',0,...
'position',[295,100,315,120])
add_block('built-in/Constant',[sys,'/',['Sources/Pulse',13,'Generator/Constant1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Constant1']],...
'Value','stt',...
'position',[295,149,320,171])
add_block('built-in/Logical Operator',[sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator']],...
'Operator','XOR',...
'position',[285,38,315,62])
add_block('built-in/Logical Operator',[sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Logical',13,'Operator1']],...
'Operator','NOT',...
'Number of Input Ports','1',...
'position',[355,38,385,62])
add_block('built-in/Product',[sys,'/',['Sources/Pulse',13,'Generator/Product']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Product']],...
'hide name',0,...
'position',[455,105,480,125])
add_block('built-in/Gain',[sys,'/',['Sources/Pulse',13,'Generator/Gain']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/Gain']],...
'hide name',0,...
'Gain','ht',...
'position',[510,102,535,128])
add_block('built-in/Outport',[sys,'/',['Sources/Pulse',13,'Generator/out_1']])
set_param([sys,'/',['Sources/Pulse',13,'Generator/out_1']],...
'hide name',0,...
'position',[560,105,580,125])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[155,130;245,130;245,55;280,55])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[160,45;280,45])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[50,40;70,40;70,125;125,125])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[135,175;100,175;100,135;125,135])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[155,130;210,130;210,175;195,175])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[50,40;130,40])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[160,45;230,45;230,85;200,85])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[140,85;105,85;105,50;130,50])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[320,110;365,110])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[405,120;450,120])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[485,115;505,115])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[540,115;555,115])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[325,160;345,160;345,125;365,125])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[320,50;350,50])
add_line([sys,'/',['Sources/Pulse',13,'Generator']],[390,50;430,50;430,110;450,110])
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
'Mask Display','plot(0,0,100,100,[90,75,75,60,60,35,35,20,20,10],[20,20,80,80,20,20,80,80,20,20])',...
'Mask Type','Pulse Generator')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
'Mask Dialogue','Pulse Generator.|Pulse period (secs):|Pulse width:|Pulse height:|Pulse start time:')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
'Mask Translate','Ts=@1; du=@2; ht=@3; stt=@4; ini=ones(length(ht),1); st1=rem(stt,Ts); st2=rem(stt+du,Ts);if(Ts<=1.2*du),ini=zeros(length(ht),1);end;')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
'Mask Help','Pulse generator which ensures pulse\ntransitions are hit. Provides a vector of pulses when the height is entered as a vector.\nUnmask to see how it works.')
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
'Mask Entries','3\/1\/1\/0.5\/')
% Finished composite block ['Sources/Pulse',13,'Generator'].
set_param([sys,'/',['Sources/Pulse',13,'Generator']],...
'position',[195,112,230,148])
% Finished composite block 'Sources'.
set_param([sys,'/','Sources'],...
'position',[15,6,45,56])
% Subsystem 'Discrete'.
new_system([sys,'/','Discrete'])
set_param([sys,'/','Discrete'],'Location',[111,234,320,613])
add_block('built-in/Zero-Order Hold',[sys,'/',['Discrete/Zero-Order',13,'Hold']])
set_param([sys,'/',['Discrete/Zero-Order',13,'Hold']],...
'position',[45,244,80,276])
add_block('built-in/Discrete Zero-Pole',[sys,'/',['Discrete/Discrete',13,'Zero-Pole']])
set_param([sys,'/',['Discrete/Discrete',13,'Zero-Pole']],...
'Poles','[0; 0.5]',...
'position',[125,33,185,67])
add_block('built-in/Unit Delay',[sys,'/','Discrete/Unit Delay'])
set_param([sys,'/','Discrete/Unit Delay'],...
'position',[40,42,90,58])
add_block('built-in/Filter',[sys,'/','Discrete/Filter'])
set_param([sys,'/','Discrete/Filter'],...
'Denominator','[1 2]',...
'position',[35,101,95,139])
add_block('built-in/Discrete Transfer Fcn',[sys,'/',['Discrete/Discrete',13,'Transfer Fcn']])
set_param([sys,'/',['Discrete/Discrete',13,'Transfer Fcn']],...
'Denominator','[1 0.5]',...
'position',[135,102,180,138])
add_block('built-in/Discrete State-Space',[sys,'/','Discrete/Discrete State-Space'])
set_param([sys,'/','Discrete/Discrete State-Space'],...
'position',[45,173,160,217])
add_block('built-in/Note',[sys,'/','Discrete/Discrete-Time Library'])
set_param([sys,'/','Discrete/Discrete-Time Library'],...
'position',[105,5,110,10])
% Subsystem ['Discrete/Discrete-Time',13,'Integrator'].
new_system([sys,'/',['Discrete/Discrete-Time',13,'Integrator']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],'Location',[392,641,765,859])
add_block('built-in/Outport',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/out_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/out_1']],...
'position',[320,85,340,105])
add_block('built-in/Gain',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/Gain']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/Gain']],...
'Gain','Ts',...
'position',[80,61,110,99])
add_block('built-in/Unit Delay',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/Unit Delay']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/Unit Delay']],...
'Sample time','Ts',...
'x0','X0',...
'position',[210,85,260,105])
add_block('built-in/Sum',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/Sum']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/Sum']],...
'position',[150,63,180,127])
add_block('built-in/Inport',[sys,'/',['Discrete/Discrete-Time',13,'Integrator/in_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator/in_1']],...
'position',[25,70,45,90])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[265,95;315,95])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[285,95;285,165;120,165;120,110;145,110])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[185,95;205,95])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[50,80;75,80])
add_line([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],[115,80;145,80])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
'Mask Display','dpoly(Ts,[1 -1],''z'')',...
'Mask Type','Discrete-Time Integrator',...
'Mask Dialogue','Discrete-Time Integrator:|Initial Condition:|Sample Time:')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
'Mask Translate','X0=@1;Ts=@2;',...
'Mask Help','Implements a zeroth order discrete\nintegration using a gain, a sum, and\na unit delay. Inputs may be scalar\nor vector.\n')
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
'Mask Entries','0\/1\/')
% Finished composite block ['Discrete/Discrete-Time',13,'Integrator'].
set_param([sys,'/',['Discrete/Discrete-Time',13,'Integrator']],...
'position',[40,309,80,351])
% Subsystem ['Discrete/First-Order',13,'Hold'].
new_system([sys,'/',['Discrete/First-Order',13,'Hold']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],'Location',[511,151,915,322])
add_block('built-in/Zero-Order Hold',[sys,'/',['Discrete/First-Order',13,'Hold/Zero-Order',13,'Hold']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Zero-Order',13,'Hold']],...
'Sample time','Ts',...
'position',[100,29,135,61])
add_block('built-in/Gain',[sys,'/',['Discrete/First-Order',13,'Hold/Gain']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Gain']],...
'Gain','1/Ts',...
'position',[285,33,325,77])
add_block('built-in/Integrator',[sys,'/',['Discrete/First-Order',13,'Hold/Integrator']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Integrator']],...
'position',[235,42,260,68])
add_block('built-in/Sum',[sys,'/',['Discrete/First-Order',13,'Hold/Sum']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Sum']],...
'inputs','+-',...
'position',[190,37,210,68])
add_block('built-in/Unit Delay',[sys,'/',['Discrete/First-Order',13,'Hold/Unit Delay']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/Unit Delay']],...
'Sample time','Ts',...
'position',[90,93,140,117])
add_block('built-in/Inport',[sys,'/',['Discrete/First-Order',13,'Hold/input']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/input']],...
'position',[25,35,45,55])
add_block('built-in/Outport',[sys,'/',['Discrete/First-Order',13,'Hold/output']])
set_param([sys,'/',['Discrete/First-Order',13,'Hold/output']],...
'position',[345,45,365,65])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[330,55;340,55])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[265,55;280,55])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[215,55;230,55])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[145,105;165,105;165,60;185,60])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[140,45;185,45])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[50,45;95,45])
add_line([sys,'/',['Discrete/First-Order',13,'Hold']],[65,45;65,105;85,105])
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],...
'Mask Display','plot(0,0,100,100,[90,70,50,30,10],[60,40,80,30,20])',...
'Mask Type','First-Order Hold',...
'Mask Dialogue','First-Order Hold|Sample Time:')
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],...
'Mask Translate','Ts=@1;',...
'Mask Help','Implements a First-Order sample-and-hold latch operating at the sampling interval you specify.',...
'Mask Entries','1\/')
% Finished composite block ['Discrete/First-Order',13,'Hold'].
set_param([sys,'/',['Discrete/First-Order',13,'Hold']],...
'position',[140,244,175,276])
% Subsystem ['Discrete/Discrete-Time',13,'Limited Integrator'].
new_system([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator']],'Location',[137,84,904,403])
add_block('built-in/Outport',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/out_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/out_1']],...
'position',[685,150,705,170])
add_block('built-in/Inport',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/in_1']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/in_1']],...
'position',[60,115,80,135])
add_block('built-in/Constant',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Constant']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Constant']],...
'hide name',0,...
'Value','upper_limit',...
'position',[140,174,210,196])
add_block('built-in/Switch',[sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Switch']])
set_param([sys,'/',['Discrete/Discrete-Time',13,'Limited Integrator/Switch']],...
'hide name',0,...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -