制限付き積分要素クラス [詳解]
#include <crawl.h>
公開メンバ関数 | |
Integral () | |
コンストラクタ [詳解] | |
void | setDt (float dt) |
サンプリングタイムを設定する [詳解] | |
void | setOutput (float y) |
出力される積分値を設定する [詳解] | |
void | setLimit (float limit_low, float limit_high) |
積分の制限値を設定する [詳解] | |
void | calculate (float x) |
入力から出力を計算する [詳解] | |
float | getOutput () |
制限付き積分した値を取得する [詳解] | |
制限付き積分要素クラス
制限値を設定できる積分要素クラスです.積分値が制限値よりも大きく(または小さく) なる場合制限値の範囲に修正され収められます. 制限値は任意で設定できます.設定しない場合,下限値としてfloatの負の最大値, 上限値として,floatの正の最大値が設定されます. このクラスはサンプリング時間[s]を指定する必要があります.ループ内で使用する場合, 一般的に一回のループ時間を指定ください.
Integral::Integral | ( | ) |
コンストラクタ
制限付き積分要素クラスのコンストラクタ.出力初期値は0,時定数は1秒,サンプリングタイムは1ミリ秒で初期化されます. 制限値は下限値としてfloatの負の最大値,上限値として,floatの正の最大値が設定されます.
void Integral::calculate | ( | float | x | ) |
入力から出力を計算する
制限付き積分を計算します.
x | 入力値 |
float Integral::getOutput | ( | ) |
制限付き積分した値を取得する
制限付き積分した値を取得します.
void Integral::setDt | ( | float | dt | ) |
サンプリングタイムを設定する
dt | ループ間隔 単位:秒 |
void Integral::setLimit | ( | float | limit_low, |
float | limit_high | ||
) |
積分の制限値を設定する
積分値が大きく(または小さく)なりすぎることを制限することができます. 下限値と上限値を指定することができ,この範囲を積分値が超える場合 その範囲に収まるように修正されます.
limit_low | 下限値 |
limit_high | 上限値 |
void Integral::setOutput | ( | float | y | ) |
出力される積分値を設定する
積分値をリセットしたい場合, 任意の値を予め与えておきたい場合に使用してください
y | 設定したい値 |