simulinkでの積分について

17 views (last 30 days)
雄太
雄太 on 9 Feb 2024
Commented: Atsushi Ueno on 11 Feb 2024
1/s (integrator)ブロックを2つ使ってsin(ωt)をtで2階積分したところ画像のように正比例するようなグラフになってしまいました。 自分では(-1/ω^2)sin(ωt) とかになると思っていたので不思議に感じています。(おそらくですが、積分定数の影響があるのかも?)
ω = 1 [rad/s] にしました。
質問は以下の2点です。
・なぜこのようになってしまったのか?
・これを改善して(-1/ω^2)sin(ωt)のようなグラフを出力する方法はあるのか?
わかる方がいたらどうか教えていただきたく思います。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 10 Feb 2024
なぜこのようになってしまったのか?
1階積分(右図の青線)の初期値を(振幅*(-1))とすべきところ0の為積分定数が生じて、
2階積分(右図の黄線)にその積分定数が積算されたからです
これを改善して(-1/ω^2)sin(ωt)のようなグラフを出力する方法はあるのか?
  • 積分定数が生じないように初期値を調整したり、発生後に加減算して調整する
  • (下記は振幅2、各速度2の場合です)
(正弦波には通用しても、測定値などの波形には通用しません。下記の様な処理が「実際」になると思います)
  • 定期的に、積分結果を初期値にリセットする
  • 過去の積分結果のオフセット(積分定数)をゼロに調整する処理を入れる
オフセット(積分定数)が不要(生じると困る)様な場面もあれば、
オフセット(積分定数)の測定自体が必要な場面もあると思います。
  2 Comments
雄太
雄太 on 10 Feb 2024
「過去の積分結果のオフセット(積分定数)をゼロに調整する処理を入れる」 をするためには、具体的にどのような処理をブロック線図で作れば良いのでしょうか? もし分かるようでしたら教えていただきたく存じます。
Atsushi Ueno
Atsushi Ueno on 11 Feb 2024
例として「積分結果の移動平均値を引く」処理を追加してみます。
この場合、数式通りの出力にならない(特に起動直後は波形の振幅が変化する)事にご注意ください。

Sign in to comment.

More Answers (0)

Categories

Find more on ビッグ データの処理 in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!