📄 nelinsys.mdl
字号:
SFunctionModules "''"
}
Block {
BlockType Stop
Name "Stop Simulation"
Position [220, 117, 255, 153]
ShowName off
}
Block {
BlockType Outport
Name "x1(t)"
Position [220, 38, 250, 52]
Port "1"
OutputWhenDisabled held
InitialOutput "[]"
}
Block {
BlockType Outport
Name "x2(t)"
Position [220, 83, 250, 97]
Port "2"
OutputWhenDisabled held
InitialOutput "[]"
}
Line {
SrcBlock "Demux"
SrcPort 2
DstBlock "x2(t)"
DstPort 1
}
Line {
SrcBlock "S-funkcia realizujuca\nvypocet fazoveho"
" portretu"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 1
DstBlock "x1(t)"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 3
DstBlock "Stop Simulation"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Phase Portraits of 2nd-Order Systems"
Ports [0, 2, 0, 0, 0]
Position [35, 151, 200, 229]
ShowPortLabels on
MaskType "Phase-Plane Portrait of a 2nd-Order Autonom"
"ous System"
MaskDescription "\nComputation of a phase-plane portrait of "
"a 2nd-order nonlinear autonomous system. The system is specified by a differe"
"ntial equation y'' + f(y, y') = 0, where y(t) is the output of the system and"
" f(y, y') is arbitrary continuous function.\n\nBlock has two vector outputs, "
"y = x1 and y' = x2, i.e. horizontal and vertical coordinates of phase-plane t"
"rajectories corresponding to different initial conditions - the initial condi"
"tions themselves are specified by the range-parameters below.\n\nTo plot the "
"portrait graphically, it is necessary to use the \"Vector XY Graph for Phase "
"Portraits\" block, since the \"XY Graph\" block from Sinks library cannot han"
"dle vector inputs.\n\nFor a detailed description of the block, click \"Help\""
" button.\n\n"
MaskHelp "web(fullfile(cd,'help','fazrov_auton2.html'"
"));"
MaskPromptString "System differential equation: y'' + f(y, y'"
") = 0:|Initial conditions range: y(0) = x1(0) minimum|Initial conditions rang"
"e: y(0) = x1(0) maximum|Number of initial conditions for x1|Initial condition"
"s range: y' (0) = x2(0) minimum|Initial conditions range: y' (0) = x2(0) maxi"
"mum|Number of initial conditions for x2"
MaskStyleString "edit,edit,edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on,on"
MaskVariables "vRovnica=&1;x1min=@2;x1max=@3;x1num=@4;x2mi"
"n=@5;x2max=@6;x2num=@7;"
MaskInitialization "% Overenie, ci system nie je vyssieho radu "
"%\nif (~strcmp(findsym(sym(vRovnica)),'D2y, Dy, y') & ~strcmp(findsym(sym(vRo"
"vnica)),'D2y, Dy') & ~strcmp(findsym(sym(vRovnica)),'D2y, y') & ~strcmp(finds"
"ym(sym(vRovnica)),'D2y'))\n error('Error: Invalid differential equatio"
"n!');\nend\n\n% Vytvorenie kanonickeho tvaru z opisu diferencialnou rovnicou "
"%\nvRovnica = subs(vRovnica, 'D2y', 'v');\nvRovnica = subs(vRovnica, 'Dy', 'x"
"2');\nvRovnica = subs(vRovnica, 'y', 'x1');\n\n% Vyjadrenie druhej derivacie "
"vystupu z rovnice %\nskt = solve(vRovnica, 'v');"
MaskDisplay "disp('Phase Portraits of 2nd-Order\\nAutono"
"mous Systems\\n\\ny'''' + f (y, y'') = 0');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate none
MaskIconUnits autoscale
MaskValueString "D2y+(Dy)^2=0|-5|5|10|-1|10|3"
System {
Name "Phase Portraits of 2nd-Order Systems"
Location [209, 281, 493, 434]
Open off
ToolBar off
StatusBar off
ScreenColor white
PaperOrientation landscape
PaperPositionMode auto
PaperType usletter
PaperUnits inches
Block {
BlockType Demux
Name "Demux"
Ports [1, 3, 0, 0, 0]
Position [200, 10, 205, 130]
BackgroundColor black
ShowName off
Outputs "[(x1num*x2num) (x1num*x2num) 1]"
}
Block {
BlockType "S-Function"
Name "S-funkcia realizujuca\nvypocet fazoveho"
" portretu"
Ports [1, 1, 0, 0, 0]
Position [30, 35, 160, 105]
FunctionName "fazrov_auton2"
Parameters "skt,x1min,x1max,x1num,x2min,x2max,x2num"
PortCounts "[]"
SFunctionModules "''"
}
Block {
BlockType Stop
Name "Stop Simulation"
Position [235, 92, 270, 128]
ShowName off
}
Block {
BlockType Outport
Name "x1(t)"
Position [235, 23, 265, 37]
Port "1"
OutputWhenDisabled held
InitialOutput "[]"
}
Block {
BlockType Outport
Name "x2(t)"
Position [235, 63, 265, 77]
Port "2"
OutputWhenDisabled held
InitialOutput "[]"
}
Line {
SrcBlock "S-funkcia realizujuca\nvypocet fazoveho"
" portretu"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 1
DstBlock "x1(t)"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 2
DstBlock "x2(t)"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 3
DstBlock "Stop Simulation"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Vector XY Graph\nfor Phase Portraits"
Ports [2, 0, 0, 0, 0]
Position [530, 15, 600, 95]
CopyFcn "sfunvxy([],[],[],'CopyBlock')"
DeleteFcn "sfunvxy([],[],[],'DeleteBlock')"
LoadFcn "sfunvxy([],[],[],'LoadBlock')"
StartFcn "sfunvxy([],[],[],'Start')"
StopFcn "sfunvxy([],[],[],'Stop')"
NameChangeFcn "sfunvxy([],[],[],'NameChange')"
ShowPortLabels on
MaskType "Vector XY Graph for Phase-Plane Portraits"
MaskDescription "\nPlots function dependancies of the type Y"
" = Y(X), where X and Y are vectors of the same size (N). In every time instan"
"t, N scalar dependancies of the type yi = yi(xi) are plotted simultaneously."
"\n\nThe most typical use of the block is to plot phase-plane portraits of sys"
"tems in which every phase trajectory (every pair of initial conditions) corre"
"sponds with one pair of elements of vectors X, Y.\n\nFor a detailed descripti"
"on of the block, click \"Help\" button.\n\n"
MaskHelp "web(fullfile(cd,'help','sfunvxy.html'));"
MaskPromptString "x-min:|x-max:|y-min:|y-max:|Sample time (-1"
" for unspecified):|Show grid"
MaskStyleString "edit,edit,edit,edit,edit,checkbox"
MaskTunableValueString "on,on,on,on,on,on"
MaskVariables "xmin=@1;xmax=@2;ymin=@3;ymax=@4;st=@5;use_g"
"rid=@6;"
MaskInitialization "if (xmin >= xmax) | (ymin >= ymax)\n err"
"or('Invalid scaling! Must be: x-min < x-max, y-min < y-max.');\nend"
MaskDisplay "plot([.05 .95 .95 .05 .05],[.45 .45 .95 .95"
" .45], 0.5+cos(0:0.1:2*pi)*0.3,0.7+sin(0:0.1:2*pi)*0.2)\ndisp('\\n\\n\\nVecto"
"rXY')"
MaskSelfModifiable on
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate none
MaskIconUnits normalized
MaskValueString "-6|6|-10|10|-1|on"
System {
Name "Vector XY Graph\nfor Phase Portraits"
Location [290, 337, 596, 520]
Open off
ToolBar off
StatusBar off
ScreenColor white
PaperOrientation landscape
PaperPositionMode auto
PaperType usletter
PaperUnits inches
Block {
BlockType Inport
Name "x"
Position [10, 30, 30, 50]
Port "1"
PortWidth "-1"
SampleTime "-1"
}
Block {
BlockType Inport
Name "y"
Position [10, 100, 30, 120]
Port "2"
PortWidth "-1"
SampleTime "-1"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1, 0, 0, 0]
Position [100, 61, 130, 94]
ShowName off
Inputs "2"
}
Block {
BlockType "S-Function"
Name "sfunvxy"
Ports [1, 1, 0, 0, 0]
Position [185, 70, 235, 90]
FunctionName "sfunvxy"
Parameters "[xmin xmax ymin ymax],use_grid,st"
PortCounts "[]"
SFunctionModules "''"
}
Line {
SrcBlock "y"
SrcPort 1
Points [35, 0; 0, -25]
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "x"
SrcPort 1
Points [35, 0; 0, 30]
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "sfunvxy"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "m2ch"
Ports [0, 0, 0, 0, 0]
Position [516, 227, 614, 267]
DropShadow on
ShowName off
OpenFcn "met2char"
ShowPortLabels on
MaskDisplay "disp('Two-Characteristics\\nMethod')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate none
MaskIconUnits autoscale
System {
Name "m2ch"
Location [378, 306, 630, 435]
Open off
ToolBar off
StatusBar off
ScreenColor white
PaperOrientation landscape
PaperPositionMode auto
PaperType usletter
PaperUnits inches
}
}
Annotation {
Position [221, 167]
Text "y(t)"
}
Annotation {
Position [226, 207]
Text "y' (t)"
}
Annotation {
Position [506, 32]
Text "x(t)"
}
Annotation {
Position [506, 77]
Text "y(t)"
}
Annotation {
Position [456, 172]
Text "y(t)"
}
Annotation {
Position [461, 207]
Text "y' (t)"
}
Annotation {
Position [221, 47]
Text "y(t)"
}
Annotation {
Position [226, 87]
Text "y' (t)"
}
Annotation {
Position [456, 52]
Text "y(t)"
}
Annotation {
Position [461, 87]
Text "y' (t)"
}
}
}
Block {
BlockType SubSystem
Name "Nonlinear Systems Synthesis"
Ports [0, 0, 0, 0, 0]
Position [254, 84, 418, 182]
DropShadow on
ShowPortLabels on
MaskType "Nonlinear Systems Synthesis"
MaskDisplay "disp('Synthesis');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate none
MaskIconUnits autoscale
System {
Name "Nonlinear Systems Synthesis"
Location [91, 154, 711, 409]
Open off
ToolBar off
StatusBar off
ScreenColor white
PaperOrientation landscape
PaperPositionMode auto
PaperType usletter
PaperUnits inches
Block {
BlockType SubSystem
Name "Exact Linearization Blocks"
Ports [0, 0, 0, 0, 0]
Position [455, 20, 584, 94]
DropShadow on
ShowPortLabels off
MaskType "Blocks for Exact Linearization"
MaskDisplay "disp('Exact Linearization');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate none
MaskIconUnits autoscale
System {
Name "Exact Linearization Blocks"
Location [37, 215, 747, 403]
Open off
ToolBar off
StatusBar off
ScreenColor white
PaperOrientation landscape
PaperPositionMode auto
PaperType usletter
PaperUnits inches
Block {
BlockType SubSystem
Name "Controller synthesis\nfor MIMO systems"
Ports [0, 0, 0, 0, 0]
Position [464, 105, 550, 144]
DropShadow on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -