ARCS6 AR6-REV.24062600
読み取り中…
検索中…
一致する文字列を見つけられません
ARCS::StateSpaceSystem< N, I, O > クラステンプレート

状態空間表現によるシステムクラス [詳解]

#include <ARCS6/lib/StateSpaceSystem.hh>

公開メンバ関数

 StateSpaceSystem (void)
 コンストラクタ(空コンストラクタ版)
 
 StateSpaceSystem (const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C, const double Ts)
 コンストラクタ(連続系A,B,C行列設定版)
 
 StateSpaceSystem (const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C, const Matrix< I, O > &D, const double Ts)
 コンストラクタ(連続系A,B,C,D行列設定版)
 
 StateSpaceSystem (StateSpaceSystem &&r)
 ムーブコンストラクタ
 
 ~StateSpaceSystem ()
 デストラクタ
 
void SetContinuous (const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C, const double Ts)
 連続系のA行列,B行列,C行列を設定して離散化する関数
 
void SetContinuous (const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C, const Matrix< I, O > &D, const double Ts)
 連続系のA行列,B行列,C行列,D行列を設定して離散化する関数
 
void SetDiscrete (const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C)
 離散系のA行列,B行列,C行列を設定する関数
 
void SetDiscrete (const Matrix< N, N > &A, const Matrix< I, N > &B, const Matrix< N, O > &C, const Matrix< I, O > &D)
 離散系のA行列,B行列,C行列,D行列を設定する関数
 
void SetInput (const Matrix< 1, I > &uin)
 状態空間モデルへの入力ベクトルを予め設定する関数
 
void SetInput (const double uin)
 状態空間モデルへの入力ベクトルを予め設定する関数(1入力版)
 
void SetInput (const double u1, const double u2)
 状態空間モデルへの入力ベクトルを予め設定する関数(2入力版)
 
void Update (void)
 状態空間モデルの応答を計算して状態ベクトルを更新する関数
 
void GetOutput (Matrix< 1, O > &yout)
 状態空間モデルからの出力ベクトルを取得する関数(引数で返す版)
 
Matrix< 1, O > GetOutput (void)
 状態空間モデルからの出力ベクトルを取得する関数(ベクトルで返す版)
 
double GetOutput (size_t i)
 状態空間モデルからの出力ベクトルの内の、1つの成分のみを選択して取得する関数
 
void GetNextOutput (Matrix< 1, O > &yout)
 状態空間モデルからの、次の時刻の出力ベクトルを取得する関数(引数で返す版)
 
Matrix< 1, O > GetNextOutput (void)
 状態空間モデルからの、次の時刻の出力ベクトルを取得する関数(ベクトルで返す版)
 
double GetNextOutput (size_t i)
 状態空間モデルからの、次の時刻の出力ベクトルの内の、1つの成分のみを選択して取得する関数
 
void GetResponses (const Matrix< 1, I > &uin, Matrix< 1, O > &yout)
 状態空間モデルの応答を計算して取得する関数(引数で返す版)
 
Matrix< 1, O > GetResponses (const Matrix< 1, I > &uin)
 状態空間モデルの応答を計算して取得する関数(ベクトルで返す版)
 
double GetResponse (const double uin)
 状態空間モデルの応答を計算して取得する関数(SISOでスカラーで返す版)
 
double GetResponse (const double u1, const double u2)
 状態空間モデルの応答を計算して取得する関数(2入力1出力でスカラーで返す版)
 
void GetNextResponses (const Matrix< 1, I > &uin, Matrix< 1, O > &yout)
 状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)
 
Matrix< 1, O > GetNextResponses (const Matrix< 1, I > &uin)
 状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)(ベクトルで返す版)
 
double GetNextResponse (const double uin)
 状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)(SISOでスカラーで返す版)
 
double GetNextResponse (const double u1, const double u2)
 状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)(2入力1出力でスカラーで返す版)
 
void ClearStateVector (void)
 状態ベクトルをクリアする関数
 

詳解

template<size_t N, size_t I = 1, size_t O = 1>
class ARCS::StateSpaceSystem< N, I, O >

状態空間表現によるシステムクラス

テンプレート引数
N次数
I入力信号の数
O出力信号の数

構築子と解体子

◆ StateSpaceSystem() [1/3]

template<size_t N, size_t I = 1, size_t O = 1>
ARCS::StateSpaceSystem< N, I, O >::StateSpaceSystem ( const Matrix< N, N > & A,
const Matrix< I, N > & B,
const Matrix< N, O > & C,
const double Ts )
inline

コンストラクタ(連続系A,B,C行列設定版)

引数
[in]A連続系A行列
[in]B連続系B行列
[in]CC行列
[in]Tsサンプリング周期 [s]

◆ StateSpaceSystem() [2/3]

template<size_t N, size_t I = 1, size_t O = 1>
ARCS::StateSpaceSystem< N, I, O >::StateSpaceSystem ( const Matrix< N, N > & A,
const Matrix< I, N > & B,
const Matrix< N, O > & C,
const Matrix< I, O > & D,
const double Ts )
inline

コンストラクタ(連続系A,B,C,D行列設定版)

引数
[in]A連続系A行列
[in]B連続系B行列
[in]CC行列
[in]DD行列
[in]Tsサンプリング周期 [s]

◆ StateSpaceSystem() [3/3]

template<size_t N, size_t I = 1, size_t O = 1>
ARCS::StateSpaceSystem< N, I, O >::StateSpaceSystem ( StateSpaceSystem< N, I, O > && r)
inline

ムーブコンストラクタ

引数
[in]r右辺値

関数詳解

◆ GetNextOutput() [1/3]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::GetNextOutput ( Matrix< 1, O > & yout)
inline

状態空間モデルからの、次の時刻の出力ベクトルを取得する関数(引数で返す版)

引数
[out]you出力ベクトル

◆ GetNextOutput() [2/3]

template<size_t N, size_t I = 1, size_t O = 1>
double ARCS::StateSpaceSystem< N, I, O >::GetNextOutput ( size_t i)
inline

状態空間モデルからの、次の時刻の出力ベクトルの内の、1つの成分のみを選択して取得する関数

引数
[in]i出力ベクトルの要素番号(1~N)
戻り値
出力値

◆ GetNextOutput() [3/3]

template<size_t N, size_t I = 1, size_t O = 1>
Matrix< 1, O > ARCS::StateSpaceSystem< N, I, O >::GetNextOutput ( void )
inline

状態空間モデルからの、次の時刻の出力ベクトルを取得する関数(ベクトルで返す版)

戻り値
出力ベクトル

◆ GetNextResponse() [1/2]

template<size_t N, size_t I = 1, size_t O = 1>
double ARCS::StateSpaceSystem< N, I, O >::GetNextResponse ( const double u1,
const double u2 )
inline

状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)(2入力1出力でスカラーで返す版)

引数
[in]uin入力ベクトル
戻り値
出力

◆ GetNextResponse() [2/2]

template<size_t N, size_t I = 1, size_t O = 1>
double ARCS::StateSpaceSystem< N, I, O >::GetNextResponse ( const double uin)
inline

状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)(SISOでスカラーで返す版)

引数
[in]uin入力ベクトル
戻り値
出力

◆ GetNextResponses() [1/2]

template<size_t N, size_t I = 1, size_t O = 1>
Matrix< 1, O > ARCS::StateSpaceSystem< N, I, O >::GetNextResponses ( const Matrix< 1, I > & uin)
inline

状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)(ベクトルで返す版)

引数
[in]uin入力ベクトル
戻り値
出力ベクトル

◆ GetNextResponses() [2/2]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::GetNextResponses ( const Matrix< 1, I > & uin,
Matrix< 1, O > & yout )
inline

状態空間モデルの応答を計算して取得する関数(次の時刻の出力ベクトルを即時に返す版)

引数
[in]uin入力ベクトル
[out]yout出力ベクトル

◆ GetOutput() [1/3]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::GetOutput ( Matrix< 1, O > & yout)
inline

状態空間モデルからの出力ベクトルを取得する関数(引数で返す版)

引数
[out]you出力ベクトル

◆ GetOutput() [2/3]

template<size_t N, size_t I = 1, size_t O = 1>
double ARCS::StateSpaceSystem< N, I, O >::GetOutput ( size_t i)
inline

状態空間モデルからの出力ベクトルの内の、1つの成分のみを選択して取得する関数

引数
[in]i出力ベクトルの要素番号(1~N)
戻り値
出力値

◆ GetOutput() [3/3]

template<size_t N, size_t I = 1, size_t O = 1>
Matrix< 1, O > ARCS::StateSpaceSystem< N, I, O >::GetOutput ( void )
inline

状態空間モデルからの出力ベクトルを取得する関数(ベクトルで返す版)

戻り値
出力ベクトル

◆ GetResponse() [1/2]

template<size_t N, size_t I = 1, size_t O = 1>
double ARCS::StateSpaceSystem< N, I, O >::GetResponse ( const double u1,
const double u2 )
inline

状態空間モデルの応答を計算して取得する関数(2入力1出力でスカラーで返す版)

引数
[in]u1入力1
[in]u2入力2
戻り値
出力

◆ GetResponse() [2/2]

template<size_t N, size_t I = 1, size_t O = 1>
double ARCS::StateSpaceSystem< N, I, O >::GetResponse ( const double uin)
inline

状態空間モデルの応答を計算して取得する関数(SISOでスカラーで返す版)

引数
[in]uin入力ベクトル
戻り値
出力

◆ GetResponses() [1/2]

template<size_t N, size_t I = 1, size_t O = 1>
Matrix< 1, O > ARCS::StateSpaceSystem< N, I, O >::GetResponses ( const Matrix< 1, I > & uin)
inline

状態空間モデルの応答を計算して取得する関数(ベクトルで返す版)

引数
[in]uin入力ベクトル
戻り値
出力ベクトル

◆ GetResponses() [2/2]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::GetResponses ( const Matrix< 1, I > & uin,
Matrix< 1, O > & yout )
inline

状態空間モデルの応答を計算して取得する関数(引数で返す版)

引数
[in]uin入力ベクトル
[out]yout出力ベクトル

◆ SetContinuous() [1/2]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetContinuous ( const Matrix< N, N > & A,
const Matrix< I, N > & B,
const Matrix< N, O > & C,
const double Ts )
inline

連続系のA行列,B行列,C行列を設定して離散化する関数

引数
[in]A連続系A行列
[in]B連続系B行列
[in]CC行列
[in]Tsサンプリング周期 [s]

◆ SetContinuous() [2/2]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetContinuous ( const Matrix< N, N > & A,
const Matrix< I, N > & B,
const Matrix< N, O > & C,
const Matrix< I, O > & D,
const double Ts )
inline

連続系のA行列,B行列,C行列,D行列を設定して離散化する関数

引数
[in]A連続系A行列
[in]B連続系B行列
[in]CC行列
[in]DD行列
[in]Tsサンプリング周期 [s]

◆ SetDiscrete() [1/2]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetDiscrete ( const Matrix< N, N > & A,
const Matrix< I, N > & B,
const Matrix< N, O > & C )
inline

離散系のA行列,B行列,C行列を設定する関数

引数
[in]A離散系A行列
[in]B離散系B行列
[in]CC行列

◆ SetDiscrete() [2/2]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetDiscrete ( const Matrix< N, N > & A,
const Matrix< I, N > & B,
const Matrix< N, O > & C,
const Matrix< I, O > & D )
inline

離散系のA行列,B行列,C行列,D行列を設定する関数

引数
[in]A離散系A行列
[in]B離散系B行列
[in]CC行列
[in]DD行列

◆ SetInput() [1/3]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetInput ( const double u1,
const double u2 )
inline

状態空間モデルへの入力ベクトルを予め設定する関数(2入力版)

引数
[in]u1入力1
[in]u2入力2

◆ SetInput() [2/3]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetInput ( const double uin)
inline

状態空間モデルへの入力ベクトルを予め設定する関数(1入力版)

引数
[in]uin入力

◆ SetInput() [3/3]

template<size_t N, size_t I = 1, size_t O = 1>
void ARCS::StateSpaceSystem< N, I, O >::SetInput ( const Matrix< 1, I > & uin)
inline

状態空間モデルへの入力ベクトルを予め設定する関数

引数
[in]uin入力ベクトル

このクラス詳解は次のファイルから抽出されました: