プロが教えるわが家の防犯対策術!

伝達関数G(s)=50/(1+100S)(1+12S) のステップ応答h(t)を求め、コンピューターで数値計算を行いグラフを書くという問題で、計算を行うためのプログラムと、計算結果・グラフを提出しなければいけないのですが、その数値計算をするプログラムがかけません。

部分分数分解、ラプラス逆変換をしてステップ応答を求めることはできたのですが、コンピューターで数値計算をするには、どのようにプログラムを書けばいいのですか? ちなみにC言語で書こうと思っています。

ヒントだけでもいいので教えてもらえないでしょうか?
よろしくお願いします。

A 回答 (1件)

数値計算する場合には、大抵、


・伝達関数を時間領域の微分方程式の形に書き直す。
たとえば G=1/(1+s)の場合、Y=GX -> (1+s)Y=X -> y+y'=x という具合に。
・このyの微分方程式を数値計算で求める
このとき、ステップ応答だから t<0でx=0, t>=0でx=1, 初期条件としてy(0)=0..という条件を与える。
という手順になるかと思います。
微分方程式を計算するプログラムは、参考書なりアルゴリズム辞典に各種書かれていると思いますので、そちらを参考いただければと。
(一番簡単なのは、y'=..という形にして、y(t+Δt)=y(t)+y'(t)Δtで計算するやつですが。)
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!