org.mklab.tool.control.system.sampled
クラス BlockSamplingSystem

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

public abstract class BlockSamplingSystem
extends BlockSystem
implements Sampling

サンプリングが存在するブロックシステムを表すクラスです。

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

フィールドの概要
protected  List<DiscreteDynamicSystem> discreteDynamicSystems
          離散時間動的システムのリスト
protected  List<DiscreteDynamicSystem> discreteDynamicSystemsUpdatedAtNextSamplingPoint
          次のサンプリング時間で状態を更新すべき離散時間動的システムの集合
protected  List<DiscreteStaticSystem> discreteStaticSystems
          離散時間静的システムのリスト
protected  List<DiscreteStaticSystem> discreteStaticSystemsUpdatedAtNextSamplingPoint
          次のサンプリング時間で状態を更新すべき離散時間静的システムの集合
protected  double time
          ノードの値を求める時刻
 
コンストラクタの概要
BlockSamplingSystem(SystemOperator[][] elements, List<Integer> inputNodes, List<Integer> outputNodes)
          新しく生成されたBlockSamplingSystemオブジェクトを初期化します。
 
メソッドの概要
 double getNextSamplingTime(double t, double tolerance)
          次のサンプリング点の時間を返します。
 double getSingleSamplingInterval()
          全てのシステムに共通するサンプリング周期を返します。
 void initialize()
          状態などの初期化を行います。
 boolean isAtSamplingPoint()
          サンプル点であるか判定します。
 boolean isSingleRate()
          全てのシステムのサンプリング周期が一致するか判定します。
protected  boolean replaceDynamicSystemList(SystemOperator oldSystem, SystemOperator newSystem)
          動的システムのリストの成分を新しいシステムに入れ替えます。
 void resetSystemsUpdatedAtNextSamplingPoint()
          次のサンプル点で状態を更新すべき離散時間動的システムの集合をリセットします。
 void setAtSamplingPoint(boolean samplingPoint)
          サンプル点であるかを設定します。
 
クラス org.mklab.tool.control.system.BlockSystem から継承されたメソッド
calcNodeValue, calcOutputOfDirectFeedthroughSystem, calcOutputOfDirectFeedthroughSystem, calcOutputOfNonDirectFeedthroughSystem, createStrictlyProperLinearDynamicSystem, 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
 

フィールドの詳細

time

protected double time
ノードの値を求める時刻


discreteDynamicSystems

protected List<DiscreteDynamicSystem> discreteDynamicSystems
離散時間動的システムのリスト


discreteStaticSystems

protected List<DiscreteStaticSystem> discreteStaticSystems
離散時間静的システムのリスト


discreteDynamicSystemsUpdatedAtNextSamplingPoint

protected List<DiscreteDynamicSystem> discreteDynamicSystemsUpdatedAtNextSamplingPoint
次のサンプリング時間で状態を更新すべき離散時間動的システムの集合


discreteStaticSystemsUpdatedAtNextSamplingPoint

protected List<DiscreteStaticSystem> discreteStaticSystemsUpdatedAtNextSamplingPoint
次のサンプリング時間で状態を更新すべき離散時間静的システムの集合

コンストラクタの詳細

BlockSamplingSystem

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

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

initialize

public void initialize()
クラス SystemOperator の記述:
状態などの初期化を行います。

オーバーライド:
クラス BlockSystem 内の initialize
関連項目:
BlockSystem.initialize()

getNextSamplingTime

public double getNextSamplingTime(double t,
                                  double tolerance)
次のサンプリング点の時間を返します。

定義:
インタフェース Sampling 内の getNextSamplingTime
パラメータ:
t - 現在の時間
tolerance - 許容誤差
戻り値:
次のサンプリング点の時間

resetSystemsUpdatedAtNextSamplingPoint

public void resetSystemsUpdatedAtNextSamplingPoint()
次のサンプル点で状態を更新すべき離散時間動的システムの集合をリセットします。


isAtSamplingPoint

public boolean isAtSamplingPoint()
サンプル点であるか判定します。

定義:
インタフェース Sampling 内の isAtSamplingPoint
戻り値:
サンプル点ならばtrue

isSingleRate

public boolean isSingleRate()
全てのシステムのサンプリング周期が一致するか判定します。

戻り値:
全てのシステムのサンプリング周期が一致すればtrue、そうでなければfalse

getSingleSamplingInterval

public double getSingleSamplingInterval()
全てのシステムに共通するサンプリング周期を返します。

戻り値:
全てのシステムに共通するサンプリング周期

setAtSamplingPoint

public void setAtSamplingPoint(boolean samplingPoint)
サンプル点であるかを設定します。

定義:
インタフェース Sampling 内の setAtSamplingPoint
パラメータ:
samplingPoint - サンプル点ならばtrue

replaceDynamicSystemList

protected boolean replaceDynamicSystemList(SystemOperator oldSystem,
                                           SystemOperator newSystem)
クラス BlockSystem の記述:
動的システムのリストの成分を新しいシステムに入れ替えます。

定義:
クラス BlockSystem 内の replaceDynamicSystemList
パラメータ:
oldSystem - リストに登録されている旧システム
newSystem - リストに登録する新システム
戻り値:
入れ替えが成功した場合true
関連項目:
BlockSystem.replaceDynamicSystemList(org.mklab.tool.control.system.SystemOperator, org.mklab.tool.control.system.SystemOperator)