|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.mklab.tool.control.system.SystemOperator
org.mklab.tool.control.system.BlockSystem
public abstract class BlockSystem
ブロックシステムを表わすクラスです。
コンストラクタの概要 | |
---|---|
BlockSystem(SystemOperator[][] elements,
List<Integer> inputNodes,
List<Integer> outputNodes)
新しく生成された BlockSystem オブジェクトを初期化します。 |
メソッドの概要 | |
---|---|
protected void |
calcNodeValue()
ノードの値を計算します。 |
boolean |
calcOutputOfDirectFeedthroughSystem(SystemOperator[][] matrix,
Matrix[] localNodeValue,
Matrix[] nodeTmpValue,
boolean skip)
確定したノードの値を用いて各直達項の有るシステムの出力を計算し、その値を仮のノードへ加えます。 |
protected abstract Matrix |
calcOutputOfDirectFeedthroughSystem(SystemOperator system,
Matrix u)
直達項のあるシステムの出力を求めます。 |
protected abstract Matrix |
calcOutputOfNonDirectFeedthroughSystem(SystemOperator system)
直達項の無いシステムの出力を求めます。 |
protected abstract SystemOperator |
createStrictlyProperLinearDynamicSystem(SystemOperator system)
強プロパーな線形動的システムを生成します。 |
int |
getInputNodeSize()
入力ノードの数を返します。 |
Matrix |
getInputNodeValueOf(SystemOperator system)
システムへ入力するノードの値を返します。 |
LinearSystem |
getLinearSystem()
線形システムの場合、線形システムの式を返します。 |
int |
getNodeSize()
ノードの数を返します。 |
int |
getOutputNodeSize()
出力ノードの数を返します。 |
protected Matrix |
getOutputNodeValue()
出力ノードの値を返します。 |
SystemOperator |
getSingleSystem()
単一のシステムであるならば、単一システムを返します。 |
protected SystemOperator |
getSystemOperator(int inputNode,
int outputNode)
指定されたノード間にあるシステムを返します。 |
void |
initialize()
状態などの初期化を行います。 |
boolean |
isAutoSize()
自動的に入出力の数を設定するか判定します。 |
boolean |
isSingleSystem()
単一のシステムであるか判定します。 |
protected abstract boolean |
replaceDynamicSystemList(SystemOperator oldSystem,
SystemOperator newSystem)
動的システムのリストの成分を新しいシステムに入れ替えます。 |
void |
resetAutoSize()
自動的に入出力の数を設定するシステムの入出力数をリセットします。 |
protected void |
resetNodeValue()
ノードの値をリセットします。 |
void |
separateDirectFeedthroughAndNonDirectFeedthrough()
非直達項成分と直達項成分を分離し、2個の隣接行列を生成します。 |
void |
setAutoSize(boolean autoSize)
自動的に入出力の数を設定するか設定します。 |
static List<List<Integer>> |
setBlockMatrix(SystemOperator[][] matrix,
int row,
int column,
BlockSystem blockSystem)
ブロックシステムを拡張された隣接行列に代入します。 |
void |
setInputNodeValue(Matrix u)
入力ノードに値を設定します。 |
void |
setInputSize(int inputSize)
入力の数を設定します。 |
void |
setNodeValueOfNoInputNode(SystemOperator[][] matrix,
Matrix[] nodeValue,
Matrix[] nodeTmpValue,
boolean skipping)
他のノードから入るエッジがないノードの値を確定します。 |
void |
setOutputSize(int outputSize)
出力の数を設定します。 |
void |
setZeroSizeToUnDefinedInputPortOutputPort()
出力数が未定のInputPortの出力数を0に、入力数が未定のOutputPortの入力数を0に設定します。 |
クラス 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 |
コンストラクタの詳細 |
---|
public BlockSystem(SystemOperator[][] elements, List<Integer> inputNodes, List<Integer> outputNodes)
BlockSystem
オブジェクトを初期化します。
elements
- 隣接行列inputNodes
- 入力ノードの番号のリスト(番号は1から始まります)outputNodes
- 出力ノードの番号のリスト(番号は1から始まります)メソッドの詳細 |
---|
public void setZeroSizeToUnDefinedInputPortOutputPort()
public void setNodeValueOfNoInputNode(SystemOperator[][] matrix, Matrix[] nodeValue, Matrix[] nodeTmpValue, boolean skipping)
ノードの仮の値を正式の値へコピーします。
matrix
- 隣接行列を転置した行列nodeValue
- ノードの値nodeTmpValue
- 仮のノードの値skipping
- 値が決まっているノードについての処理をスキップするならばtrue、そうでなければfalsepublic void setInputNodeValue(Matrix u)
u
- 入力ノードの値protected Matrix getOutputNodeValue()
public Matrix getInputNodeValueOf(SystemOperator system)
system
- 入力するノードの値を調べるシステム
public int getNodeSize()
public int getInputNodeSize()
public int getOutputNodeSize()
protected void resetNodeValue()
protected abstract Matrix calcOutputOfNonDirectFeedthroughSystem(SystemOperator system) throws SolverStopException
system
- 直達項の無いシステム
SolverStopException
- ソルバーが停止された場合protected abstract Matrix calcOutputOfDirectFeedthroughSystem(SystemOperator system, Matrix u) throws SolverStopException
system
- 直達項のあるシステムu
- 入力
SolverStopException
- ソルバーが停止された場合protected abstract SystemOperator createStrictlyProperLinearDynamicSystem(SystemOperator system)
system
- バイプロパーな線形動的システム
protected abstract boolean replaceDynamicSystemList(SystemOperator oldSystem, SystemOperator newSystem)
oldSystem
- リストに登録されている旧システムnewSystem
- リストに登録する新システム
public boolean calcOutputOfDirectFeedthroughSystem(SystemOperator[][] matrix, Matrix[] localNodeValue, Matrix[] nodeTmpValue, boolean skip) throws SolverStopException
そして、そのシステムを隣接行列から削除します。
matrix
- 隣接行列を転置した行列localNodeValue
- ノードの値nodeTmpValue
- 仮のノードの値skip
- 値が決定しているノードについて計算をスキップする場合true
SolverStopException
- ソルバーが停止された場合protected void calcNodeValue() throws SolverStopException
SolverStopException
- ソルバーが停止された場合public LinearSystem getLinearSystem()
SystemOperator
の記述:
SystemOperator
内の getLinearSystem
SystemOperator.getLinearSystem()
public void initialize()
SystemOperator
の記述:
SystemOperator
内の initialize
SystemOperator.initialize()
public void separateDirectFeedthroughAndNonDirectFeedthrough()
public boolean isSingleSystem()
public SystemOperator getSingleSystem()
RuntimeException
- 単一のシステムでない場合public static List<List<Integer>> setBlockMatrix(SystemOperator[][] matrix, int row, int column, BlockSystem blockSystem)
matrix
- 拡張された隣接行列row
- ブロックシステムの行番号column
- ブロックシステムの列番号blockSystem
- ブロックシステムの成分
protected SystemOperator getSystemOperator(int inputNode, int outputNode)
inputNode
- 入力ノード番号outputNode
- 出力ノード番号
public boolean isAutoSize()
SystemOperator
の記述:
SystemOperator
内の isAutoSize
SystemOperator.isAutoSize()
public void setAutoSize(boolean autoSize)
SystemOperator
の記述:
SystemOperator
内の setAutoSize
autoSize
- 自動的に入出力の数を設定するならばtrue、そうでなければfalseSystemOperator.setAutoSize(boolean)
public void resetAutoSize()
SystemOperator
の記述:
SystemOperator
内の resetAutoSize
SystemOperator.resetAutoSize()
public void setInputSize(int inputSize)
SystemOperator
の記述:
SystemOperator
内の setInputSize
inputSize
- 入力の数SystemOperator.setInputSize(int)
public void setOutputSize(int outputSize)
SystemOperator
の記述:
SystemOperator
内の setOutputSize
outputSize
- 出力の数SystemOperator.setOutputSize(int)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |