制限付き積分要素クラス [詳解]
#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 | 設定したい値 |
1.8.8