vdp2d.mdl

来自「运用非线性系统产生混沌吸引子的MATLAB源代码。」· MDL 代码 · 共 657 行 · 第 1/2 页

MDL
657
字号
      Name		      "vdp1"
      Ports		      [0, 1, 0, 0, 0]
      Position		      [40, 41, 80, 99]
      ShowPortLabels	      on
      MaskType		      "Van Der Pol System"
      MaskDescription	      " Van Der Pol Oscillator System: xdotdot=mu*xdot"
"*(1-x^2)-x"
      MaskHelp		      " Van Der Pol Oscillator System: xdotdot=mu*xdot"
"*(1-x^2)-x"
      MaskPromptString	      "mu|Initial Conditions [p0 v0]"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskVariables	      "mu=@1;x0=@2;"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "1|[1 0]"
      System {
	Name			"vdp1"
	Location		[117, 149, 499, 348]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  StateSpace
	  Name			  "Linear Part"
	  Position		  [90, 118, 155, 152]
	  A			  "[0 1; -1 mu]"
	  B			  "[0 1]'"
	  C			  "eye(2)"
	  D			  "[0 0]'"
	  X0			  "x0"
	}
	Block {
	  BlockType		  Fcn
	  Name			  "Nonlinear Feedback"
	  Position		  [90, 68, 155, 92]
	  Orientation		  "left"
	  Expr			  "-mu*u[2]*u[1]*u[1]"
	}
	Block {
	  BlockType		  Outport
	  Name			  "x"
	  Position		  [240, 128, 270, 142]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "[]"
	}
	Line {
	  SrcBlock		  "Linear Part"
	  SrcPort		  1
	  Points		  [40, 0]
	  Branch {
	    DstBlock		    "x"
	    DstPort		    1
	  }
	  Branch {
	    Points		    [0, -55]
	    DstBlock		    "Nonlinear Feedback"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Nonlinear Feedback"
	  SrcPort		  1
	  Points		  [-40, 0; 0, 55]
	  DstBlock		  "Linear Part"
	  DstPort		  1
	}
	Annotation {
	  Position		  [177, 27]
	  Text			  "Van Der Pol Equation: xdotdot = mu*xdot -x "
"-mu*xdot*x^2 "
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "vdp2"
      Ports		      [0, 1, 0, 0, 0]
      Position		      [40, 131, 80, 189]
      ShowPortLabels	      on
      MaskType		      "Van Der Pol System"
      MaskDescription	      " Van Der Pol Oscillator System: xdotdot=mu*xdot"
"*(1-x^2)-x"
      MaskHelp		      " Van Der Pol Oscillator System: xdotdot=mu*xdot"
"*(1-x^2)-x"
      MaskPromptString	      "mu|Initial Conditions [p0 v0]"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskVariables	      "mu=@1;x0=@2;"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "1|[1.5 0]"
      System {
	Name			"vdp2"
	Location		[117, 149, 499, 348]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  StateSpace
	  Name			  "Linear Part"
	  Position		  [90, 118, 155, 152]
	  A			  "[0 1; -1 mu]"
	  B			  "[0 1]'"
	  C			  "eye(2)"
	  D			  "[0 0]'"
	  X0			  "x0"
	}
	Block {
	  BlockType		  Fcn
	  Name			  "Nonlinear Feedback"
	  Position		  [90, 68, 155, 92]
	  Orientation		  "left"
	  Expr			  "-mu*u[2]*u[1]*u[1]"
	}
	Block {
	  BlockType		  Outport
	  Name			  "x"
	  Position		  [240, 128, 270, 142]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "[]"
	}
	Line {
	  SrcBlock		  "Nonlinear Feedback"
	  SrcPort		  1
	  Points		  [-40, 0; 0, 55]
	  DstBlock		  "Linear Part"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Linear Part"
	  SrcPort		  1
	  Points		  [40, 0]
	  Branch {
	    Points		    [0, -55]
	    DstBlock		    "Nonlinear Feedback"
	    DstPort		    1
	  }
	  Branch {
	    DstBlock		    "x"
	    DstPort		    1
	  }
	}
	Annotation {
	  Position		  [177, 27]
	  Text			  "Van Der Pol Equation: xdotdot = mu*xdot -x "
"-mu*xdot*x^2 "
	}
      }
    }
    Block {
      BlockType		      SubSystem
      Name		      "vdp3"
      Ports		      [0, 1, 0, 0, 0]
      Position		      [40, 221, 80, 279]
      ShowPortLabels	      on
      MaskType		      "Van Der Pol System"
      MaskDescription	      " Van Der Pol Oscillator System: xdotdot=mu*xdot"
"*(1-x^2)-x"
      MaskHelp		      " Van Der Pol Oscillator System: xdotdot=mu*xdot"
"*(1-x^2)-x"
      MaskPromptString	      "mu|Initial Conditions [p0 v0]"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskVariables	      "mu=@1;x0=@2;"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "1|[2.5 0]"
      System {
	Name			"vdp3"
	Location		[117, 149, 499, 348]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  StateSpace
	  Name			  "Linear Part"
	  Position		  [90, 118, 155, 152]
	  A			  "[0 1; -1 mu]"
	  B			  "[0 1]'"
	  C			  "eye(2)"
	  D			  "[0 0]'"
	  X0			  "x0"
	}
	Block {
	  BlockType		  Fcn
	  Name			  "Nonlinear Feedback"
	  Position		  [90, 68, 155, 92]
	  Orientation		  "left"
	  Expr			  "-mu*u[2]*u[1]*u[1]"
	}
	Block {
	  BlockType		  Outport
	  Name			  "x"
	  Position		  [240, 128, 270, 142]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "[]"
	}
	Line {
	  SrcBlock		  "Linear Part"
	  SrcPort		  1
	  Points		  [40, 0]
	  Branch {
	    DstBlock		    "x"
	    DstPort		    1
	  }
	  Branch {
	    Points		    [0, -55]
	    DstBlock		    "Nonlinear Feedback"
	    DstPort		    1
	  }
	}
	Line {
	  SrcBlock		  "Nonlinear Feedback"
	  SrcPort		  1
	  Points		  [-40, 0; 0, 55]
	  DstBlock		  "Linear Part"
	  DstPort		  1
	}
	Annotation {
	  Position		  [177, 27]
	  Text			  "Van Der Pol Equation: xdotdot = mu*xdot -x "
"-mu*xdot*x^2 "
	}
      }
    }
    Line {
      SrcBlock		      "vdp1"
      SrcPort		      1
      DstBlock		      "Mux"
      DstPort		      1
    }
    Line {
      SrcBlock		      "Mux"
      SrcPort		      1
      Points		      [20, 0]
      Branch {
	Points			[0, -35]
	DstBlock		"Selector"
	DstPort			1
      }
      Branch {
	DstBlock		"Selector1"
	DstPort			1
      }
    }
    Line {
      Name		      "p1p2p3"
      Labels		      [0, 0]
      SrcBlock		      "Selector"
      SrcPort		      1
      DstBlock		      "XYZ Graph"
      DstPort		      1
    }
    Line {
      Name		      "v1v2v3"
      Labels		      [0, 0]
      SrcBlock		      "Selector1"
      SrcPort		      1
      DstBlock		      "XYZ Graph"
      DstPort		      2
    }
    Line {
      SrcBlock		      "Ground"
      SrcPort		      1
      DstBlock		      "XYZ Graph"
      DstPort		      3
    }
    Line {
      SrcBlock		      "vdp2"
      SrcPort		      1
      DstBlock		      "Mux"
      DstPort		      2
    }
    Line {
      SrcBlock		      "vdp3"
      SrcPort		      1
      DstBlock		      "Mux"
      DstPort		      3
    }
    Annotation {
      Position		      [44, 330]
      HorizontalAlignment     "left"
      Text		      "See the effect of a small change in the initial"
" conditions."
    }
  }
}

⌨️ 快捷键说明

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