org.mklab.tool.control.system.discrete
クラス BlockDiscreteSystem

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.BlockSystem
          上位を拡張 org.mklab.tool.control.system.sampled.BlockSamplingSystem
              上位を拡張 org.mklab.tool.control.system.discrete.BlockDiscreteSystem
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, Sampling, Sampler
直系の既知のサブクラス:
BlockDiscreteDynamicSystem, BlockDiscreteStaticSystem

public abstract class BlockDiscreteSystem
extends BlockSamplingSystem
implements Sampler

差分方程式で表現されるブロック離散時間システムを表わすクラスです。

バージョン:
$Revision$
作成者:
koga

フィールドの概要
 
クラス org.mklab.tool.control.system.sampled.BlockSamplingSystem から継承されたフィールド
discreteDynamicSystems, discreteDynamicSystemsUpdatedAtNextSamplingPoint, discreteStaticSystems, discreteStaticSystemsUpdatedAtNextSamplingPoint, time
 
コンストラクタの概要
BlockDiscreteSystem(SystemOperator[][] elements, List<Integer> inputNodes, List<Integer> outputNodes)
          新しく生成されたBlockDiscreteSystemオブジェクトを初期化します。
 
メソッドの概要
protected  void calcNodeValue(double t)
          ノードの値を計算します。
protected  void calcNodeValue(int k)
          ノードの値を計算します。
protected  Matrix calcOutputOfDirectFeedthroughSystem(SystemOperator system, Matrix u)
          直達項のあるシステムの出力を求めます。
protected  Matrix calcOutputOfNonDirectFeedthroughSystem(SystemOperator system)
          直達項の無いシステムの出力を求めます。
protected  SystemOperator createStrictlyProperLinearDynamicSystem(SystemOperator system)
          強プロパーな線形動的システムを生成します。
 double getSamplingInterval()
          サンプリング周期を返します。
 void setSamplingInterval(double interval)
          サンプリング周期を設定します。
 
クラス org.mklab.tool.control.system.sampled.BlockSamplingSystem から継承されたメソッド
getNextSamplingTime, getSingleSamplingInterval, initialize, isAtSamplingPoint, isSingleRate, replaceDynamicSystemList, resetSystemsUpdatedAtNextSamplingPoint, setAtSamplingPoint
 
クラス 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
 

コンストラクタの詳細

BlockDiscreteSystem

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

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

calcNodeValue

protected void calcNodeValue(int k)
                      throws SolverStopException
ノードの値を計算します。

パラメータ:
k - ステップ
例外:
SolverStopException - ソルバーが停止された場合

calcNodeValue

protected void calcNodeValue(double t)
                      throws SolverStopException
ノードの値を計算します。

パラメータ:
t - 時刻
例外:
SolverStopException - ソルバーが停止された場合

calcOutputOfDirectFeedthroughSystem

protected Matrix calcOutputOfDirectFeedthroughSystem(SystemOperator system,
                                                     Matrix u)
                                              throws SolverStopException
クラス BlockSystem の記述:
直達項のあるシステムの出力を求めます。

定義:
クラス BlockSystem 内の calcOutputOfDirectFeedthroughSystem
パラメータ:
system - 直達項のあるシステム
u - 入力
戻り値:
直達項のあるシステムの出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
BlockSystem.calcOutputOfDirectFeedthroughSystem(org.mklab.tool.control.system.SystemOperator, org.mklab.nfc.matrix.Matrix)

calcOutputOfNonDirectFeedthroughSystem

protected Matrix calcOutputOfNonDirectFeedthroughSystem(SystemOperator system)
                                                 throws SolverStopException
クラス BlockSystem の記述:
直達項の無いシステムの出力を求めます。

定義:
クラス BlockSystem 内の calcOutputOfNonDirectFeedthroughSystem
パラメータ:
system - 直達項の無いシステム
戻り値:
直達項の無いシステムの出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
BlockSystem.calcOutputOfNonDirectFeedthroughSystem(org.mklab.tool.control.system.SystemOperator)

createStrictlyProperLinearDynamicSystem

protected SystemOperator createStrictlyProperLinearDynamicSystem(SystemOperator system)
クラス BlockSystem の記述:
強プロパーな線形動的システムを生成します。

定義:
クラス BlockSystem 内の createStrictlyProperLinearDynamicSystem
パラメータ:
system - バイプロパーな線形動的システム
戻り値:
強プロパーな線形動的システム
関連項目:
BlockSystem.createStrictlyProperLinearDynamicSystem(org.mklab.tool.control.system.SystemOperator)

setSamplingInterval

public void setSamplingInterval(double interval)
インタフェース Sampler の記述:
サンプリング周期を設定します。

定義:
インタフェース Sampler 内の setSamplingInterval
パラメータ:
interval - サンプリング周期
関連項目:
Sampler.setSamplingInterval(double)

getSamplingInterval

public double getSamplingInterval()
インタフェース Sampler の記述:
サンプリング周期を返します。

定義:
インタフェース Sampler 内の getSamplingInterval
戻り値:
サンプリング周期
関連項目:
Sampler.getSamplingInterval()