org.mklab.tool.control.system.sink
クラス Restrictor

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.continuous.BaseContinuousStaticSystem
          上位を拡張 org.mklab.tool.control.system.sink.ContinuousSink
              上位を拡張 org.mklab.tool.control.system.sink.Restrictor
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, ContinuousAlgebraicSystem, PiecewiseContinuousAlgebraicSystem, ContinuousStaticSystem, ParameterUpdator, StringExternalizable, StaticSystem

public class Restrictor
extends ContinuousSink
implements PiecewiseContinuousAlgebraicSystem, ParameterUpdator, StringExternalizable

信号の値を制限するクラスです。 指定された値の範囲を超えるとシミュレーションを停止します。 計算を停止する例外を発生します。

バージョン:
$Revision: 1.31 $, 2007/02/02
作成者:
koga

コンストラクタの概要
Restrictor()
          新しく生成されたRestrictorオブジェクトを初期化します。
Restrictor(DoubleMatrix range)
          新しく生成されたStopperオブジェクトを初期化します。
 
メソッドの概要
 boolean equals(Object o)
           
 double getDiscontinuousPoint(double t1, Matrix u1, double t2, Matrix u2)
          指定された区間内([t1,t2]の不連続点の時刻を返します。
 List<Integer> getPiece(double t, Matrix u)
          区分の番号を返します。
 DoubleMatrix getRange()
          許容範囲を返します。
 String getString(String key)
          外部化された文字列を返します。
 int hashCode()
           
 Matrix outputEquation(double t, Matrix u)
          直達項をもつシステムの出力を返します。
 void setInputSize(int inputSize)
          入力の数を設定します。
 void setOutputSize(int outputSize)
          出力の数を設定します。
 void setRange(DoubleMatrix range)
          許容範囲を設定します。
 void setRange(DoubleMatrix range, int[] restrictedSignal)
          許容範囲を設定します。
 boolean updateWith(String parameter)
          パラメータ変更に伴う更新を行います。
 
クラス org.mklab.tool.control.system.continuous.BaseContinuousStaticSystem から継承されたメソッド
initialize, inputOutputEquation, outputEquation
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
clone, compare, createArray, createArray, createGrid, createGrid, createZero, getInputSize, getLinearSystem, getOutputSize, getParameter, getParameters, getStateSize, hasDirectFeedthrough, isAutoSize, isDynamic, isForecdSystem, isInlet, isLinear, isOutlet, isSISO, isSizeDefined, isStatic, isTransformableFrom, isTransformableTo, isZero, resetAutoSize, setAutoSize, setDynamic, setForcedSystem, setHasDirectFeedthrough, setInlet, setLinear, setOutlet, setParameter, setStateSize, setupParameters, toString, toString, transformFrom, transformTo
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Restrictor

public Restrictor()
新しく生成されたRestrictorオブジェクトを初期化します。


Restrictor

public Restrictor(DoubleMatrix range)
新しく生成されたStopperオブジェクトを初期化します。

パラメータ:
range - 許容範囲 [[min1, max1][min2, max2]...[minN, maxN]]
メソッドの詳細

outputEquation

public Matrix outputEquation(double t,
                             Matrix u)
                      throws SolverStopException
インタフェース StaticSystem の記述:
直達項をもつシステムの出力を返します。

出力方程式を表します。

定義:
インタフェース StaticSystem 内の outputEquation
オーバーライド:
クラス ContinuousSink 内の outputEquation
パラメータ:
t - 時刻
u - 入力
戻り値:
出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
ContinuousSink.outputEquation(double, org.mklab.nfc.matrix.Matrix)

setRange

public void setRange(DoubleMatrix range)
許容範囲を設定します。

パラメータ:
range - 許容範囲

setRange

public void setRange(DoubleMatrix range,
                     int[] restrictedSignal)
許容範囲を設定します。

パラメータ:
range - 許容範囲
restrictedSignal - 制限される信号のリスト(1番から始まる)

getRange

public DoubleMatrix getRange()
許容範囲を返します。

戻り値:
許容範囲

updateWith

public boolean updateWith(String parameter)
インタフェース ParameterUpdator の記述:
パラメータ変更に伴う更新を行います。

定義:
インタフェース ParameterUpdator 内の updateWith
パラメータ:
parameter - パラメータの名前
戻り値:
パラメータの設定が成功したならばtrue、そうでなければfalse
関連項目:
ParameterUpdator.updateWith(java.lang.String)

getString

public String getString(String key)
インタフェース StringExternalizable の記述:
外部化された文字列を返します。

定義:
インタフェース StringExternalizable 内の getString
パラメータ:
key - キー
戻り値:
外部化された文字列
関連項目:
StringExternalizable.getString(java.lang.String)

setInputSize

public void setInputSize(int inputSize)
クラス SystemOperator の記述:
入力の数を設定します。

オーバーライド:
クラス ContinuousSink 内の setInputSize
パラメータ:
inputSize - 入力の数
関連項目:
ContinuousSink.setInputSize(int)

setOutputSize

public void setOutputSize(int outputSize)
クラス SystemOperator の記述:
出力の数を設定します。

オーバーライド:
クラス ContinuousSink 内の setOutputSize
パラメータ:
outputSize - 出力の数
関連項目:
ContinuousSink.setOutputSize(int)

getDiscontinuousPoint

public double getDiscontinuousPoint(double t1,
                                    Matrix u1,
                                    double t2,
                                    Matrix u2)
インタフェース PiecewiseContinuousAlgebraicSystem の記述:
指定された区間内([t1,t2]の不連続点の時刻を返します。

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

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

関連項目:
PiecewiseContinuousAlgebraicSystem.getDiscontinuousPoint(double, org.mklab.nfc.matrix.Matrix, double, org.mklab.nfc.matrix.Matrix)

getPiece

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

定義:
インタフェース PiecewiseContinuousAlgebraicSystem 内の getPiece
パラメータ:
t - 時刻
u - 入力
戻り値:
区分の番号
関連項目:
PiecewiseContinuousAlgebraicSystem.getPiece(double, org.mklab.nfc.matrix.Matrix)

equals

public boolean equals(Object o)
オーバーライド:
クラス SystemOperator 内の equals
関連項目:
SystemOperator.equals(java.lang.Object)

hashCode

public int hashCode()
オーバーライド:
クラス SystemOperator 内の hashCode
関連項目:
SystemOperator.hashCode()