⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdctools.mdl

📁 一个非常好的基于MATLAB的飞机动态控制工具箱,对于从事该方面研究的读者非常有参考价值
💻 MDL
📖 第 1 页 / 共 2 页
字号:
	  BlockType		  Sum
	  Name			  "Sum"
	  Ports			  [4, 1, 0, 0, 0]
	  Position		  [120, 35, 135, 90]
	  FontName		  "Arial"
	  FontSize		  9
	  ShowName		  off
	  Inputs		  "++++"
	}
	Block {
	  BlockType		  Step
	  Name			  "step1"
	  Position		  [30, 5, 50, 25]
	  FontName		  "Arial"
	  FontSize		  9
	  Time			  "ts1"
	  Before		  "0"
	  After			  "y1-cnst"
	}
	Block {
	  BlockType		  Step
	  Name			  "step2"
	  Position		  [30, 45, 50, 65]
	  FontName		  "Arial"
	  FontSize		  9
	  Time			  "ts1+dt1"
	  Before		  "0"
	  After			  "-y1+y2"
	}
	Block {
	  BlockType		  Step
	  Name			  "step3"
	  Position		  [30, 85, 50, 105]
	  FontName		  "Arial"
	  FontSize		  9
	  Time			  "ts1+dt1+dt2"
	  Before		  "0"
	  After			  "-y2+cnst"
	}
	Block {
	  BlockType		  Outport
	  Name			  "doublet"
	  Position		  [180, 55, 200, 75]
	  DropShadow		  on
	  FontName		  "Arial"
	  FontSize		  9
	  Port			  "1"
	  OutputWhenDisabled	  held
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "Const."
	  SrcPort		  1
	  Points		  [40, 0; 0, -50]
	  DstBlock		  "Sum"
	  DstPort		  4
	}
	Line {
	  SrcBlock		  "Sum"
	  SrcPort		  1
	  DstBlock		  "doublet"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "step1"
	  SrcPort		  1
	  Points		  [25, 0; 0, 25]
	  DstBlock		  "Sum"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "step2"
	  SrcPort		  1
	  DstBlock		  "Sum"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "step3"
	  SrcPort		  1
	  Points		  [25, 0; 0, -25]
	  DstBlock		  "Sum"
	  DstPort		  3
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "MA"
      Ports		      [0, 0, 0, 0, 0]
      Position		      [315, 90, 395, 165]
      DropShadow	      on
      FontName		      "Arial"
      FontSize		      11
      ShowName		      off
      ShowPortLabels	      off
      MaskDisplay	      "disp('MA filter\\nwith better\\nicon\\n\\n(doubl"
			      "e click)')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      System {
	Name			"MA"
	Location		[4, 60, 176, 191]
	Open			off
	ScreenColor		white
	Block {
	  BlockType		  DiscreteStateSpace
	  Name			  "MA-filter"
	  Position		  [60, 66, 110, 104]
	  FontName		  "Arial"
	  FontSize		  9
	  A			  "Ama"
	  B			  "Bma"
	  C			  "Cma"
	  D			  "Dma"
	  X0			  "xinit"
	  SampleTime		  "Ts"
	  MaskType		  "MA-filter"
	  MaskDescription	  "Digital Moving Average filter"
	  MaskHelp		  "Digital Moving Average filter. \\ny(k) "
				  "= 1/n * (u(k) + u(k-1) + ... + u(k-ns)) "
				  "\\nwhere ns is the number of samples "
				  "\\nfor averaging (to be specified by "
				  "\\nthe user). "
	  MaskPromptString	  "Number of samples for averaging:|Sample "
				  "time:|Initial value of input signal:"
	  MaskStyleString	  "edit,edit,edit"
	  MaskVariables		  "ns=@1;Ts=@2;uinit=@3;"
	  MaskInitialization	  " Ama=[zeros(1,ns);[eye(ns-1) zeros(ns-1,1)]]"
				  "; Bma=[1; zeros(ns-1,1)]; Cma=1/ns*ones(1,ns"
				  "); Dma=0; xinit=uinit*ones(ns,1);  y=dstep(A"
				  "ma,Bma,Cma,Dma,1,ns*1.5); yy=[]; for "
				  "i = 1:length(y)-1; yy=[yy y(i) y(i+1)]; "
				  "tt=[tt i i]; end; ly=length(y);"
	  MaskDisplay		  "plot(tt,yy,[-0.3*ly 0 0 ly],[0 0 1 1],[0 "
				  "1],[0 0],-0.3*ly-1,-0.25,ly+1,1.25)"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  none
	  MaskIconUnits		  autoscale
	  MaskValueString	  "5|0.1|0"
	}
	Annotation {
	  Position		  [87, 17]
	  VerticalAlignment	  top
	  FontName		  "Arial"
	  FontSize		  9
	  Text			  "Drawing the icon of this\nblock requires "
				  "Control\nSystems Toolbox!"
	}
      }
    }
    Block {
      BlockType		      DiscreteStateSpace
      Name		      "MA-filter"
      Position		      [330, 31, 380, 69]
      FontName		      "Arial"
      FontSize		      11
      A			      "Ama"
      B			      "Bma"
      C			      "Cma"
      D			      "Dma"
      X0		      "xinit"
      SampleTime	      "Ts"
      MaskType		      "MA-filter"
      MaskDescription	      "Digital Moving Average filter"
      MaskHelp		      "Digital Moving Average filter. \\ny(k) = "
			      "1/n * (u(k) + u(k-1) + ... + u(k-ns)) \\nwhere "
			      "ns is the number of samples \\nfor averaging "
			      "(to be specified by \\nthe user). "
      MaskPromptString	      "Number of samples for averaging:|Sample time:|In"
			      "itial value of input signal:"
      MaskStyleString	      "edit,edit,edit"
      MaskInitialization      "ns=@1; Ama=[zeros(1,ns);[eye(ns-1) zeros(ns-1,1)"
			      "]]; Bma=[1; zeros(ns-1,1)]; Cma=1/ns*ones(1,ns);"
			      " Dma=0; Ts=@2; uinit=@3; xinit=uinit*ones(ns,1);"
      MaskDisplay	      "disp('MA')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      MaskValueString	      "5|0.1|0"
    }
    Block {
      BlockType		      StateSpace
      Name		      "Matrix Gain"
      Position		      [105, 30, 165, 60]
      FontName		      "Arial"
      FontSize		      11
      A			      "A"
      B			      "B"
      C			      "C"
      D			      "D"
      X0		      "0"
      MaskType		      "Matrix Gain"
      MaskDescription	      "Matrix Gain"
      MaskHelp		      "This block implements an matrix gain.\\nThe "
			      "matrix dimensions must be in accordance\\nwith "
			      "the dimension of the inputvector."
      MaskPromptString	      "Gain matrix:"
      MaskStyleString	      "edit"
      MaskInitialization      "A=[]; B=[]; C=[]; D=@1;"
      MaskDisplay	      "disp('y = M*u')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      MaskValueString	      "eye(3)"
    }
    Block {
      BlockType		      SubSystem
      Name		      "On/off switch"
      Ports		      [2, 1, 0, 0, 0]
      Position		      [225, 30, 260, 65]
      FontName		      "Arial"
      FontSize		      11
      ShowPortLabels	      off
      MaskType		      "On/off switch"
      MaskDescription	      " If input(1) = 1 \n     output = input(2) "
			      "\n else if input(1) = 0\n     output = 0"
      MaskHelp		      "On/off switch."
      MaskDisplay	      "plot(0,0,100,100,[31,31,32,34,34,32,31,31,0],[50"
			      ",48,47,48,51,53,51,50,50],[100,75,51],[50,50,97]"
			      ");disp('?')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      System {
	Name			"On/off switch"
	Location		[4, 60, 251, 263]
	Open			off
	ScreenColor		white
	Block {
	  BlockType		  Inport
	  Name			  "crit"
	  Position		  [20, 70, 40, 90]
	  DropShadow		  on
	  FontName		  "Arial"
	  FontSize		  9
	  Port			  "1"
	  PortWidth		  "-1"
	  SampleTime		  "-1"
	}
	Block {
	  BlockType		  Inport
	  Name			  "in"
	  Position		  [20, 30, 40, 50]
	  DropShadow		  on
	  FontName		  "Arial"
	  FontSize		  9
	  Port			  "2"
	  PortWidth		  "-1"
	  SampleTime		  "-1"
	}
	Block {
	  BlockType		  Sum
	  Name			  "Sum"
	  Ports			  [2, 1, 0, 0, 0]
	  Position		  [85, 95, 100, 115]
	  FontName		  "Arial"
	  FontSize		  9
	  ShowName		  off
	  Inputs		  "+-"
	}
	Block {
	  BlockType		  Switch
	  Name			  "Switch"
	  Position		  [165, 89, 190, 121]
	  FontName		  "Arial"
	  FontSize		  9
	  Threshold		  "0"
	}
	Block {
	  BlockType		  Constant
	  Name			  "const."
	  Position		  [20, 120, 40, 140]
	  FontName		  "Arial"
	  FontSize		  9
	  Value			  "0.5"
	}
	Block {
	  BlockType		  Constant
	  Name			  "const.1"
	  Position		  [20, 159, 40, 181]
	  FontName		  "Arial"
	  FontSize		  9
	  Value			  "0"
	}
	Block {
	  BlockType		  Outport
	  Name			  "out"
	  Position		  [210, 95, 230, 115]
	  DropShadow		  on
	  FontName		  "Arial"
	  FontSize		  9
	  Port			  "1"
	  OutputWhenDisabled	  held
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "crit"
	  SrcPort		  1
	  Points		  [20, 0; 0, 20]
	  DstBlock		  "Sum"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "const.1"
	  SrcPort		  1
	  Points		  [80, 0; 0, -55]
	  DstBlock		  "Switch"
	  DstPort		  3
	}
	Line {
	  SrcBlock		  "Sum"
	  SrcPort		  1
	  DstBlock		  "Switch"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Switch"
	  SrcPort		  1
	  DstBlock		  "out"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "in"
	  SrcPort		  1
	  Points		  [80, 0; 0, 55]
	  DstBlock		  "Switch"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "const."
	  SrcPort		  1
	  Points		  [20, 0; 0, -20]
	  DstBlock		  "Sum"
	  DstPort		  2
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "Scheduled Gain"
      Ports		      [2, 1, 0, 0, 0]
      Position		      [110, 80, 165, 115]
      FontName		      "Arial"
      FontSize		      11
      ShowPortLabels	      off
      MaskDisplay	      "plot(0,0,100,100,[0,100,0],[0,50,100]);disp('K(u"
			      "1)      ')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      System {
	Name			"Scheduled Gain"
	Location		[4, 42, 455, 207]
	Open			off
	ScreenColor		white
	Block {
	  BlockType		  Inport
	  Name			  "schedule \nvector v"
	  Position		  [30, 65, 50, 85]
	  ForegroundColor	  magenta
	  DropShadow		  on
	  FontName		  "Arial"
	  Port			  "1"
	  PortWidth		  "-1"
	  SampleTime		  "-1"
	}
	Block {
	  BlockType		  Inport
	  Name			  "input u"
	  Position		  [30, 120, 50, 140]
	  DropShadow		  on
	  FontName		  "Arial"
	  Port			  "2"
	  PortWidth		  "-1"
	  SampleTime		  "-1"
	}
	Block {
	  BlockType		  Fcn
	  Name			  "Gain Fcn"
	  Position		  [85, 66, 335, 84]
	  ForegroundColor	  magenta
	  FontName		  "Arial"
	  Expr			  "sin(u[1])"
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "More Info"
	  Ports			  [0, 0, 0, 0, 0]
	  Position		  [177, 5, 210, 35]
	  ForegroundColor	  red
	  DropShadow		  on
	  ShowPortLabels	  off
	  MaskDisplay		  "disp('???')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  none
	  MaskIconUnits		  autoscale
	  System {
	    Name		    "More Info"
	    Location		    [4, 29, 355, 106]
	    Open		    off
	    ScreenColor		    white
	    Annotation {
	      Position		      [169, 17]
	      VerticalAlignment	      top
	      ForegroundColor	      red
	      FontName		      "Times New Roman"
	      FontSize		      12
	      Text		      "The first input is the schedule signal. "
				      "Change the \nGain Function to the "
				      "required gain scheduling function."
	    }
	    Annotation {
	      Position		      [24456, 7491]
	      VerticalAlignment	      top
	      FontName		      "Times New Roman"
	      FontSize		      12
	      Text		      "Scheduled Gain.\n\nInput 2 is multiplied"
				      " with a gain which is a function\nof "
				      "input(-vector) 1. The schedule function "
				      "should be\nspecified in the block "
				      "'Gain Fcn'."
	    }
	  }
	}
	Block {
	  BlockType		  Product
	  Name			  "Product"
	  Ports			  [2, 1, 0, 0, 0]
	  Position		  [380, 95, 395, 115]
	  FontName		  "Arial"
	  ShowName		  off
	  Inputs		  "2"
	}
	Block {
	  BlockType		  SubSystem
	  Name			  "t"
	  Ports			  [0, 0, 0, 0, 0]
	  Position		  [5, 5, 135, 50]
	  ForegroundColor	  blue
	  ShowName		  off
	  ShowPortLabels	  off
	  MaskDisplay		  "disp('Scheduled Gain\\nMarc Rauw\\nAugust "
				  "1996')"
	  MaskIconFrame		  on
	  MaskIconOpaque	  on
	  MaskIconRotate	  none
	  MaskIconUnits		  autoscale
	  System {
	    Name		    "t"
	    Location		    [181, 125, 272, 215]
	    Open		    off
	    ScreenColor		    white
	  }
	}
	Block {
	  BlockType		  Outport
	  Name			  "y = K*u"
	  Position		  [415, 95, 435, 115]
	  DropShadow		  on
	  FontName		  "Arial"
	  Port			  "1"
	  OutputWhenDisabled	  held
	  InitialOutput		  "0"
	}
	Line {
	  SrcBlock		  "schedule \nvector v"
	  SrcPort		  1
	  DstBlock		  "Gain Fcn"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Product"
	  SrcPort		  1
	  DstBlock		  "y = K*u"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "input u"
	  SrcPort		  1
	  Points		  [305, 0; 0, -20]
	  DstBlock		  "Product"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Gain Fcn"
	  SrcPort		  1
	  Points		  [20, 0; 0, 25]
	  DstBlock		  "Product"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      S-Function
      Name		      "Soft limiter"
      Ports		      [1, 1, 0, 0, 0]
      Position		      [425, 30, 480, 70]
      FontName		      "Arial"
      FontSize		      11
      FunctionName	      "softlim"
      Parameters	      "max_u, lin_u"
      MaskType		      "Soft limiter"
      MaskDescription	      "Soft limiter with partly linear throughput"
      MaskHelp		      "See source-code of SOFTLIM.M or type HELP "
			      "SOFTLIM at the command-line."
      MaskPromptString	      "Limiter range= max. output value= --(min. "
			      "output value):|% of linear range where y=u "
			      "(linear throughput):"
      MaskStyleString	      "edit,edit"
      MaskInitialization      "max_u=max(@1,1e-16); lin_u=min(0.9999,(max(@2,0)"
			      "/100))*max_u; uplot=[-5*max_u:0.25*max_u:5*max_u"
			      "]; for i = 1:length(uplot); yplot(i)=softlim([],"
			      "[],uplot(i),3,max_u,lin_u); end;"
      MaskDisplay	      "plot(uplot, yplot, max_u*[-5,-1,1,5], max_u*[-1,"
			      "-1,1,1], 0, -1.3*max_u, 0, 1.2*max_u, max_u*[-5,"
			      "5], [0,0]);"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      MaskValueString	      "10|10"
    }
    Block {
      BlockType		      SubSystem
      Name		      "i"
      Ports		      [0, 0, 0, 0, 0]
      Position		      [205, 175, 285, 211]
      ForegroundColor	      red
      DropShadow	      on
      FontName		      "Arial"
      FontSize		      11
      FontWeight	      bold
      ShowName		      off
      OpenFcn		      "fdchelp('nswitch')"
      ShowPortLabels	      off
      MaskDisplay	      "disp('More info\\nfor n-switch')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      none
      MaskIconUnits	      autoscale
      System {
	Name			"i"
	Location		[160, 288, 522, 361]
	Open			off
	ScreenColor		white
	Annotation {
	  Position		  [182, 12]
	  VerticalAlignment	  top
	  ForegroundColor	  red
	  FontName		  "Times New Roman"
	  FontSize		  12
	  Text			  "Run NSWITCH.M to generate an n-switch "
				  "with a \ndifferent number of inputs. "
				  "Type HELP NSWITCH\nat the Matlab command "
				  "line for more info."
	}
      }
    }
    Annotation {
      Position		      [254, 237]
      VerticalAlignment	      top
      ForegroundColor	      red
      FontName		      "Times New Roman"
      FontSize		      14
      Text		      "The FDC toolbox. Copyright Marc Rauw, 1994-1997"
    }
    Annotation {
      Position		      [136, 12]
      VerticalAlignment	      top
      ForegroundColor	      blue
      FontName		      "Arial"
      FontSize		      11
      FontWeight	      bold
      Text		      "GAINS"
    }
    Annotation {
      Position		      [243, 12]
      VerticalAlignment	      top
      ForegroundColor	      blue
      FontName		      "Arial"
      FontSize		      11
      FontWeight	      bold
      Text		      "SWITCHES"
    }
    Annotation {
      Position		      [357, 12]
      VerticalAlignment	      top
      ForegroundColor	      blue
      FontName		      "Arial"
      FontSize		      11
      FontWeight	      bold
      Text		      "DISCRETE"
    }
    Annotation {
      Position		      [455, 12]
      VerticalAlignment	      top
      ForegroundColor	      blue
      FontName		      "Arial"
      FontSize		      11
      FontWeight	      bold
      Text		      "NONLINEAR"
    }
    Annotation {
      Position		      [40, 12]
      VerticalAlignment	      top
      ForegroundColor	      blue
      FontName		      "Arial"
      FontSize		      11
      FontWeight	      bold
      Text		      "INPUTS"
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -