📄 s3.m
字号:
function [ret,x0,str,ts,xts]=s3(t,x,u,flag);
%s3 is the M-file description of the SIMULINK system named s3.
% The block-diagram can be displayed by typing: s3.
%
% SYS=s3(T,X,U,FLAG) returns depending on FLAG certain
% system values given time point, T, current state vector, X,
% and input vector, U.
% FLAG is used to indicate the type of output to be returned in SYS.
%
% Setting FLAG=1 causes s3 to return state derivatives, FLAG=2
% discrete states, FLAG=3 system outputs and FLAG=4 next sample
% time. For more information and other options see SFUNC.
%
% Calling s3 with a FLAG of zero:
% [SIZES]=s3([],[],[],0), returns a vector, SIZES, which
% contains the sizes of the state vector and other parameters.
% SIZES(1) number of states
% SIZES(2) number of discrete states
% SIZES(3) number of outputs
% SIZES(4) number of inputs
% SIZES(5) number of roots (currently unsupported)
% SIZES(6) direct feedthrough flag
% SIZES(7) number of sample times
%
% For the definition of other parameters in SIZES, see SFUNC.
% See also, TRIM, LINMOD, LINSIM, EULER, RK23, RK45, ADAMS, GEAR.
% Note: This M-file is only used for saving graphical information;
% after the model is loaded into memory an internal model
% representation is used.
% the system will take on the name of this mfile:
sys = mfilename;
new_system(sys)
simver(1.3)
if (0 == (nargin + nargout))
set_param(sys,'Location',[12,55,803,388])
open_system(sys)
end;
set_param(sys,'algorithm', 'RK-45')
set_param(sys,'Start time', '0.0')
set_param(sys,'Stop time', '0.7')
set_param(sys,'Min step size', '1e-4')
set_param(sys,'Max step size', '1e-2')
set_param(sys,'Relative error','1e-5')
set_param(sys,'Return vars', '')
set_param(sys,'AssignWideVectorLines','on');
% Subsystem 'Plot//Scope'.
new_system([sys,'/','Plot//Scope'])
set_param([sys,'/','Plot//Scope'],'Location',[4,145,735,510])
add_block('built-in/Scope',[sys,'/','Plot//Scope/Scope'])
set_param([sys,'/','Plot//Scope/Scope'],...
'Vgain','3.000000',...
'Hgain','0.700000',...
'Vmax','6.000000',...
'Hmax','1.400000',...
'Window',[0,347,812,498],...
'position',[650,230,680,260])
add_block('built-in/To Workspace',[sys,'/','Plot//Scope/Out'])
set_param([sys,'/','Plot//Scope/Out'],...
'mat-name','yout',...
'buffer','20000',...
'position',[640,157,690,173])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_Gen-Exc'])
set_param([sys,'/','Plot//Scope/in_Gen-Exc'],...
'Port','7',...
'position',[450,255,470,275])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_LPA-LPB'])
set_param([sys,'/','Plot//Scope/in_LPA-LPB'],...
'Port','6',...
'position',[450,215,470,235])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_Tem'])
set_param([sys,'/','Plot//Scope/in_Tem'],...
'Port','5',...
'position',[450,175,470,195])
add_block('built-in/Mux',[sys,'/','Plot//Scope/Mux'])
set_param([sys,'/','Plot//Scope/Mux'],...
'inputs','6',...
'position',[555,44,585,286])
add_block('built-in/Mux',[sys,'/','Plot//Scope/Mux1'])
set_param([sys,'/','Plot//Scope/Mux1'],...
'inputs','5',...
'position',[145,74,175,196])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_iqe'])
set_param([sys,'/','Plot//Scope/in_iqe'],...
'position',[70,100,90,120])
add_block('built-in/Clock',[sys,'/','Plot//Scope/Clock'])
set_param([sys,'/','Plot//Scope/Clock'],...
'position',[70,55,90,75])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_vdCs'])
set_param([sys,'/','Plot//Scope/in_vdCs'],...
'Port','4',...
'position',[70,245,90,265])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_ide'])
set_param([sys,'/','Plot//Scope/in_ide'],...
'Port','2',...
'position',[70,150,90,170])
add_block('built-in/Inport',[sys,'/','Plot//Scope/in_vqCs'])
set_param([sys,'/','Plot//Scope/in_vqCs'],...
'Port','3',...
'position',[70,195,90,215])
add_block('built-in/Fcn',[sys,'/','Plot//Scope/Fcn'])
set_param([sys,'/','Plot//Scope/Fcn'],...
'Expr','u[2]*cos(wb*u[1]) + u[3]*sin(wb*u[1])',...
'position',[205,135,430,165])
add_block('built-in/Fcn',[sys,'/','Plot//Scope/Fcn1'])
set_param([sys,'/','Plot//Scope/Fcn1'],...
'Expr','u[4]*cos(wb*u[1]) + u[5]*sin(wb*u[1])',...
'position',[205,90,430,120])
add_line([sys,'/','Plot//Scope'],[590,165;635,165])
add_line([sys,'/','Plot//Scope'],[475,185;550,185])
add_line([sys,'/','Plot//Scope'],[180,135;185,135;185,150;200,150])
add_line([sys,'/','Plot//Scope'],[180,135;185,135;185,105;200,105])
add_line([sys,'/','Plot//Scope'],[95,110;140,110])
add_line([sys,'/','Plot//Scope'],[95,160;105,160;105,135;140,135])
add_line([sys,'/','Plot//Scope'],[95,205;115,205;115,160;140,160])
add_line([sys,'/','Plot//Scope'],[95,255;125,255;125,185;140,185])
add_line([sys,'/','Plot//Scope'],[475,225;550,225])
add_line([sys,'/','Plot//Scope'],[475,265;550,265])
add_line([sys,'/','Plot//Scope'],[95,65;550,65])
add_line([sys,'/','Plot//Scope'],[95,65;125,65;125,85;140,85])
add_line([sys,'/','Plot//Scope'],[590,165;615,165;615,245;645,245])
add_line([sys,'/','Plot//Scope'],[435,150;485,150;485,145;550,145])
add_line([sys,'/','Plot//Scope'],[435,105;550,105])
% Finished composite block 'Plot//Scope'.
set_param([sys,'/','Plot//Scope'],...
'orientation',3,...
'position',[427,35,543,80])
% Subsystem 'gen'.
new_system([sys,'/','gen'])
set_param([sys,'/','gen'],'Location',[-66,136,707,591])
add_block('built-in/Inport',[sys,'/','gen/in_vdse'])
set_param([sys,'/','gen/in_vdse'],...
'Port','2',...
'position',[80,255,100,275])
add_block('built-in/Inport',[sys,'/','gen/in_vqse'])
set_param([sys,'/','gen/in_vqse'],...
'position',[30,230,50,250])
add_block('built-in/Note',[sys,'/','gen/vdr'])
set_param([sys,'/','gen/vdr'],...
'position',[190,265,195,270])
add_block('built-in/Note',[sys,'/','gen/vqr'])
set_param([sys,'/','gen/vqr'],...
'position',[188,223,193,228])
% Subsystem 'gen/qde2qdr'.
new_system([sys,'/','gen/qde2qdr'])
set_param([sys,'/','gen/qde2qdr'],'Location',[103,460,628,647])
add_block('built-in/Mux',[sys,'/','gen/qde2qdr/Mux'])
set_param([sys,'/','gen/qde2qdr/Mux'],...
'hide name',0,...
'inputs','3',...
'position',[75,50,105,130])
add_block('built-in/Fcn',[sys,'/','gen/qde2qdr/fcn'])
set_param([sys,'/','gen/qde2qdr/fcn'],...
'Expr','u[1]*cos(u[3]) - u[2]*sin(u[3])',...
'position',[150,52,390,78])
add_block('built-in/Fcn',[sys,'/','gen/qde2qdr/fcn1'])
set_param([sys,'/','gen/qde2qdr/fcn1'],...
'Expr','u[1]*sin(u[3]) + u[2]*cos(u[3])',...
'position',[150,97,390,123])
add_block('built-in/Inport',[sys,'/','gen/qde2qdr/vde'])
set_param([sys,'/','gen/qde2qdr/vde'],...
'Port','2',...
'position',[15,80,35,100])
add_block('built-in/Inport',[sys,'/','gen/qde2qdr/delta '])
set_param([sys,'/','gen/qde2qdr/delta '],...
'Port','3',...
'position',[15,124,35,146])
add_block('built-in/Inport',[sys,'/','gen/qde2qdr/vqe'])
set_param([sys,'/','gen/qde2qdr/vqe'],...
'position',[15,35,35,55])
add_block('built-in/Outport',[sys,'/','gen/qde2qdr/vdr'])
set_param([sys,'/','gen/qde2qdr/vdr'],...
'Port','2',...
'position',[445,100,465,120])
add_block('built-in/Outport',[sys,'/','gen/qde2qdr/vqr'])
set_param([sys,'/','gen/qde2qdr/vqr'],...
'position',[445,55,465,75])
add_line([sys,'/','gen/qde2qdr'],[395,110;440,110])
add_line([sys,'/','gen/qde2qdr'],[40,45;50,45;50,65;70,65])
add_line([sys,'/','gen/qde2qdr'],[395,65;440,65])
add_line([sys,'/','gen/qde2qdr'],[110,90;125,90;125,65;145,65])
add_line([sys,'/','gen/qde2qdr'],[110,90;125,90;125,110;145,110])
add_line([sys,'/','gen/qde2qdr'],[40,135;50,135;50,115;70,115])
add_line([sys,'/','gen/qde2qdr'],[40,90;70,90])
% Finished composite block 'gen/qde2qdr'.
set_param([sys,'/','gen/qde2qdr'],...
'position',[135,229,175,301])
% Subsystem 'gen/q_cct'.
new_system([sys,'/','gen/q_cct'])
set_param([sys,'/','gen/q_cct'],'Location',[154,128,1103,645])
add_block('built-in/Outport',[sys,'/','gen/q_cct/Out_psiq'])
set_param([sys,'/','gen/q_cct/Out_psiq'],...
'position',[585,45,605,65])
add_block('built-in/Outport',[sys,'/','gen/q_cct/Out_-iq'])
set_param([sys,'/','gen/q_cct/Out_-iq'],...
'Port','2',...
'position',[830,230,850,250])
add_block('built-in/Outport',[sys,'/','gen/q_cct/Out_psimq'])
set_param([sys,'/','gen/q_cct/Out_psimq'],...
'Port','3',...
'position',[835,120,855,140])
add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux4'])
set_param([sys,'/','gen/q_cct/Mux4'],...
'inputs','2',...
'position',[520,204,540,271])
add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn4'])
set_param([sys,'/','gen/q_cct/Fcn4'],...
'Expr','-(u[1]-u[2])/xls',...
'position',[565,227,655,253])
add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn3'])
set_param([sys,'/','gen/q_cct/Fcn3'],...
'Expr','xMQ*(u[1]/xls+u[2]/xplkq2+u[3]/xplkq)',...
'position',[565,114,775,146])
add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux3'])
set_param([sys,'/','gen/q_cct/Mux3'],...
'inputs','3',...
'position',[520,87,545,173])
add_block('built-in/Integrator',[sys,'/','gen/q_cct/psipkq_'])
set_param([sys,'/','gen/q_cct/psipkq_'],...
'Initial','Psikqo',...
'position',[390,357,420,383])
add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn2'])
set_param([sys,'/','gen/q_cct/Fcn2'],...
'Expr','wb*rpkq*(u[1]-u[2])/xplkq',...
'position',[180,356,365,384])
add_block('built-in/Integrator',[sys,'/','gen/q_cct/psipkq2_'])
set_param([sys,'/','gen/q_cct/psipkq2_'],...
'Initial','Psikq2o',...
'position',[390,247,420,273])
add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn1'])
set_param([sys,'/','gen/q_cct/Fcn1'],...
'Expr','wb*rpkq2*(u[1]-u[2])/xplkq2',...
'position',[175,245,375,275])
add_block('built-in/Integrator',[sys,'/','gen/q_cct/psiq_'])
set_param([sys,'/','gen/q_cct/psiq_'],...
'Initial','Psiqo',...
'position',[390,127,420,153])
add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux2'])
set_param([sys,'/','gen/q_cct/Mux2'],...
'inputs','2',...
'position',[130,330,155,405])
add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux1'])
set_param([sys,'/','gen/q_cct/Mux1'],...
'inputs','2',...
'position',[135,220,160,300])
add_block('built-in/Fcn',[sys,'/','gen/q_cct/Fcn'])
set_param([sys,'/','gen/q_cct/Fcn'],...
'Expr','wb*(u[2]-u[3]+(rs/xls)*(u[1]-u[4]))',...
'position',[180,125,375,155])
add_block('built-in/Inport',[sys,'/','gen/q_cct/In_wrpsid'])
set_param([sys,'/','gen/q_cct/In_wrpsid'],...
'Port','2',...
'position',[50,160,70,180])
add_block('built-in/Inport',[sys,'/','gen/q_cct/In_vqr'])
set_param([sys,'/','gen/q_cct/In_vqr'],...
'position',[50,105,70,125])
add_block('built-in/Mux',[sys,'/','gen/q_cct/Mux'])
set_param([sys,'/','gen/q_cct/Mux'],...
'position',[135,86,160,189])
add_block('built-in/Scope',[sys,'/','gen/q_cct/qaxis_Scope'])
set_param([sys,'/','gen/q_cct/qaxis_Scope'],...
'Vgain','3.000000',...
'Hgain','0.050000',...
'Vmax','6.000000',...
'Hmax','2.000000',...
'Window',[451,130,627,387],...
'position',[835,402,855,428])
add_line([sys,'/','gen/q_cct'],[75,170;95,170;95,150;130,150])
add_line([sys,'/','gen/q_cct'],[75,115;95,115;95,125;130,125])
add_line([sys,'/','gen/q_cct'],[165,140;175,140])
add_line([sys,'/','gen/q_cct'],[380,140;385,140])
add_line([sys,'/','gen/q_cct'],[425,140;435,140;435,205;115,205;115,175;130,175])
add_line([sys,'/','gen/q_cct'],[165,260;170,260])
add_line([sys,'/','gen/q_cct'],[380,260;385,260])
add_line([sys,'/','gen/q_cct'],[160,370;175,370])
add_line([sys,'/','gen/q_cct'],[370,370;385,370])
add_line([sys,'/','gen/q_cct'],[425,370;460,370;460,430;110,430;110,385;125,385])
add_line([sys,'/','gen/q_cct'],[425,140;435,140;435,100;515,100])
add_line([sys,'/','gen/q_cct'],[425,260;450,260;450,130;515,130])
add_line([sys,'/','gen/q_cct'],[425,370;460,370;460,160;515,160])
add_line([sys,'/','gen/q_cct'],[550,130;560,130])
add_line([sys,'/','gen/q_cct'],[545,240;560,240])
add_line([sys,'/','gen/q_cct'],[425,140;470,140;470,220;515,220])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,305;495,305;495,255;515,255])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,445;90,445;90,350;125,350])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,445;90,445;90,240;130,240])
add_line([sys,'/','gen/q_cct'],[780,130;790,130;790,80;115,80;115,100;130,100])
add_line([sys,'/','gen/q_cct'],[780,130;830,130])
add_line([sys,'/','gen/q_cct'],[660,240;825,240])
add_line([sys,'/','gen/q_cct'],[425,140;435,140;435,55;580,55])
add_line([sys,'/','gen/q_cct'],[425,260;435,260;435,320;115,320;115,280;130,280])
% Finished composite block 'gen/q_cct'.
set_param([sys,'/','gen/q_cct'],...
'position',[260,193,300,267])
add_block('built-in/Note',[sys,'/','gen/wr//wb'])
set_param([sys,'/','gen/wr//wb'],...
'position',[585,155,590,160])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -