1

これは本当に基本的な質問ですが、MATLABを使用したのはこれが初めてで、行き詰まりました。3つの異なる数値積分手法を使用して単純な直列RCネットワークをシミュレートする必要があります。常微分方程式の使い方は理解できたと思いますが、システムの微分方程式の入力方法がわかりません。m-fileを介してそれを行う必要がありますか?

これは、次の形式の単純なRC回路です。

RC dy(t)/dt + y(t) = u(t)

初期条件はゼロです。R、Cのステップ長とシミュレーション時間の値はありますが、MATLABの使い方が特によくわかりません。

どんな助けでも大歓迎です!

4

2 に答える 2

4

tyを入力として受け取り、 dyを出力として与える関数ファイルが必要になります。これは、次のヘッダーを持つ独自のファイルになります。

function dy = rigid(t,y)

MATLABパスにrigid.mとして保存します。

そこから微分方程式を入れます。これで関数ができました。これが簡単なものです:

function dy = rigid(t,y)

dy = sin(t);

コマンドラインまたはスクリプトから、ODE45を介してこの関数を駆動する必要があります

[T,Y] = ode45(@rigid,[0 2*pi],[0]);

これにより、時間0から時間2 * piまで実行され、初期yがゼロの関数(rigid.m)が得られます。

これをプロットします:

plot(T,Y)

代替テキスト

MATLABのドキュメントの詳細はこちらです:

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ode23tb.html

于 2008-12-18T15:56:19.647 に答える
1

公式のMatlabクラッシュコース(PDF警告)には、ODEの解決に関するセクションと、Matlabを開始するときに役立つと思った他の多くのリソースがあります。

于 2008-12-18T10:04:40.433 に答える