org.mklab.tool.control.system.continuous
クラス BlockPiecewiseContinuousDynamicSystem

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.BlockSystem
          上位を拡張 org.mklab.tool.control.system.continuous.BlockContinuousSystem
              上位を拡張 org.mklab.tool.control.system.continuous.BlockContinuousDynamicSystem
                  上位を拡張 org.mklab.tool.control.system.continuous.BlockPiecewiseContinuousDynamicSystem
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, DifferentialSystem, PiecewiseDifferentialSystem, ContinuousDynamicSystem, DynamicSystem

public class BlockPiecewiseContinuousDynamicSystem
extends BlockContinuousDynamicSystem
implements PiecewiseDifferentialSystem

区分的微分可能な微分方程式で表現されるブロック連続時間動的システムを表わすクラスです。

バージョン:
$Revision: 1.17 $, 2007/04/08
作成者:
koga

フィールドの概要
 
クラス org.mklab.tool.control.system.continuous.BlockContinuousSystem から継承されたフィールド
continuousDynamicSystems
 
コンストラクタの概要
BlockPiecewiseContinuousDynamicSystem(SystemOperator[][] elements, List<Integer> inputNodes, List<Integer> outputNodes)
          新しく生成されたBlockPiecewiseContinuousDynamicSystemオブジェクトを初期化します。
 
メソッドの概要
 double getDiscontinuousPoint(double t1, Matrix state1, Matrix input1, double t2, Matrix state2, Matrix input2)
          指定された区間内([(t1,x1),(t2,x2)]の不連続点の時刻を返します。
 List<Integer> getPiece(double t, Matrix state, Matrix input)
          区分の番号を返します。
 
クラス org.mklab.tool.control.system.continuous.BlockContinuousDynamicSystem から継承されたメソッド
differentialEquation, getInitialState, getState, getStateNumber, initialize, inputOutputEquation, outputEquation, outputEquation, setInitialState, setState, setStateNumber, stateEquation
 
クラス org.mklab.tool.control.system.continuous.BlockContinuousSystem から継承されたメソッド
calcNodeValue, calcOutputOfDirectFeedthroughSystem, calcOutputOfNonDirectFeedthroughSystem, createStrictlyProperLinearDynamicSystem, replaceDynamicSystemList
 
クラス org.mklab.tool.control.system.BlockSystem から継承されたメソッド
calcNodeValue, calcOutputOfDirectFeedthroughSystem, getInputNodeSize, getInputNodeValueOf, getLinearSystem, getNodeSize, getOutputNodeSize, getOutputNodeValue, getSingleSystem, getSystemOperator, isAutoSize, isSingleSystem, resetAutoSize, resetNodeValue, separateDirectFeedthroughAndNonDirectFeedthrough, setAutoSize, setBlockMatrix, setInputNodeValue, setInputSize, setNodeValueOfNoInputNode, setOutputSize, setZeroSizeToUnDefinedInputPortOutputPort
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
clone, compare, createArray, createArray, createGrid, createGrid, createZero, equals, getInputSize, getOutputSize, getParameter, getParameters, getStateSize, hasDirectFeedthrough, hashCode, isDynamic, isForecdSystem, isInlet, isLinear, isOutlet, isSISO, isSizeDefined, isStatic, isTransformableFrom, isTransformableTo, isZero, setDynamic, setForcedSystem, setHasDirectFeedthrough, setInlet, setLinear, setOutlet, setParameter, setStateSize, setupParameters, toString, toString, transformFrom, transformTo
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

BlockPiecewiseContinuousDynamicSystem

public BlockPiecewiseContinuousDynamicSystem(SystemOperator[][] elements,
                                             List<Integer> inputNodes,
                                             List<Integer> outputNodes)
新しく生成されたBlockPiecewiseContinuousDynamicSystemオブジェクトを初期化します。

パラメータ:
elements - 隣接行列
inputNodes - 入力ノードの番号のリスト(番号は1から始まります)
outputNodes - 出力ノードの番号のリスト(番号は1から始まります)
メソッドの詳細

getDiscontinuousPoint

public double getDiscontinuousPoint(double t1,
                                    Matrix state1,
                                    Matrix input1,
                                    double t2,
                                    Matrix state2,
                                    Matrix input2)
                             throws SolverStopException
インタフェース PiecewiseDifferentialSystem の記述:
指定された区間内([(t1,x1),(t2,x2)]の不連続点の時刻を返します。

定義:
インタフェース PiecewiseDifferentialSystem 内の getDiscontinuousPoint
パラメータ:
t1 - 不連続点の前の時刻
state1 - 不連続点の前の状態
input1 - 不連続点の前の入力
t2 - 不連続点の後の時刻
state2 - 不連続点の後の状態
input2 - 不連続点の後の入力
戻り値:
指定された区間内([(t1,x1,u1),(t2,x2,u2)]の不連続点の時刻

区間内に不連続点がなければNaN

例外:
SolverStopException - ソルバーが停止された場合
関連項目:
PiecewiseDifferentialSystem.getDiscontinuousPoint(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix, double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

getPiece

public List<Integer> getPiece(double t,
                              Matrix state,
                              Matrix input)
                       throws SolverStopException
インタフェース PiecewiseDifferentialSystem の記述:
区分の番号を返します。

定義:
インタフェース PiecewiseDifferentialSystem 内の getPiece
パラメータ:
t - 時刻
state - 状態
input - 入力
戻り値:
区分の番号
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
PiecewiseDifferentialSystem.getPiece(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)