まず、実験の目的
1. 得るための数学的モデルとの間の数学的モデルにマスター・パラメータは、関連する取得MATLABのコマンド
2. 把握オイラー法とRK 漸化式法
3 把握オイラー法とRK の法則MATLABのアルゴリズムを達成
第二に、実験コンテンツ
1は、オイラー法、ルンゲで表される- クッタ法以下のシステムを解決する:
(1)R&LT = 4K オーム] 、C = 1。マイクロF. 、L = IH 、シミュレーション時間:0.03s (2 ) R&LT = 280 オーム、C = 8。マイクロF. 、L = 2H 、シミュレーション時間:0.1秒
下二回路部ステップ応答パラメータ。(初期条件がゼロです)。
2. 精通マスター理解MATLABのモデルパラメータ変換及び抽出命令フェッチ(書き込み動作が上記システムの結果)
G = TF(NUM、DEN)G1 = TF(G)
ZPK = G(Z、P、K)= G1 ZPK(G)
G = SS(A、B、C、D)G3 = SS(G)
[民、デン] = tfdat(G)
[Z、P、K] = zpkdata(G)
[A、B、C、D] = ssdata(G)
第三に、実験的な要件
1. プレビューコンテンツと実験完了
2に理論解析、実験手順、プログラムの実行結果との結果:少なくとも含む完全なテストレポートを、分析。
第四に、実験の内容
1.モデル
コラム式:
状態空間(タイムドメイン):
行列形式で書かれて:
伝達関数を(コンプレックス)を得るためにラプラス変換:
2.実験コード:
**********%抽出************* R&LT = 4000、 C = 0.000001; L = 1; NUM = [1]; DEN = [L * C R * C ,. 1]; G = TF(NUM、DEN) のGI = TF(G) G2 = ZPK(G) G3 = SS(G) [民、デン] = tfdata(G) [Z、P、K ] = zpkdata(G) [A、B、C、D] = SSDATA(G)
質問(1):
clear; clc; %******************************************%% % Question 1 %******************************************%% R1 = 4000; C1 = 0.000001; L1 = 1; A1 = [0, 1/C1;-1/L1,-R1/L1]; B1 = [0;1/L1]; h1 = 0.00003; % step size y1 = [0;0]; y2 = [0;0]; % ******** Euler method **********% for i1 = 0:1:1000 t1 = i1*h1; % simulation time: 0.03s x1(i1+1) = t1; k1 = A1 * y1 + B1; k2 = A1 * (y1+h1*k1) + B1; y1 = y1 + (k1 +k2)*h1/2; result_for_Euler_1(i1+1) = y1(1,1); end % ******** 4 order Runge-Kutta method **********% for i2 = 0:1:1000 t2 = i2*h1; % simulation time: 0.03s x2(i2+1) = t2; k1 = A1 * y2 + B1; k2 = A1 * (y2+h1*k1/2) + B1; k3 = A1 * (y2+h1*k2/2) + B1; k4 = A1 * (y2+h1*k3) + B1; y2 = y2 + (k1 +k2)*h1/2; result_for_RK_1(i2+1) = y2(1,1); end subplot(2,2,1);plot(x1,result_for_Euler_1,'b'); xlabel(' time /s ');ylabel(' Uc /V ');title('Result for Euler method');legend('Euler'); subplot(2,2,2);plot(x2,result_for_RK_1,'r'); xlabel(' time /s ');ylabel(' Uc /V ');title('Result for Runge-Kutta method');legend('Runge-Kutta'); subplot(2,1,2);plot(x1,result_for_Euler_1,'b', x2,result_for_RK_1,'r'); xlabel(' time /s ');ylabel(' Uc /V '); title('Comparision of results between Euler and RK');legend('Euler','Runge-Kutta');
问题(2):
clear; clc; %******************************************%% % Question 2 %******************************************%% R1 = 280; C1 = 0.000008; L1 = 2; A1 = [0, 1/C1;-1/L1,-R1/L1]; B1 = [0;1/L1]; h1 = 0.0002; % step size y1 = [0;0]; y2 = [0;0]; % ******** Euler method **********% for i1 = 0:1:500 t1 = i1*h1; % simulation time: 0.1s x1(i1+1) = t1; k1 = A1 * y1 + B1; k2 = A1 * (y1+h1*k1) + B1; y1 = y1 + (k1 +k2)*h1/2; result_for_Euler_1(i1+1) = y1(1,1); end % ******** 4 order Runge-Kutta method **********% for i2 = 0:1:500 t2 = i2*h1; % simulation time: 0.1s x2(i2+1) = t2; k1 = A1 * y2 + B1; k2 = A1 * (y2+h1*k1/2) + B1; k3 = A1 * (y2+h1*k2/2) + B1; k4 = A1 * (y2+h1*k3) + B1; y2 = y2 + (k1 +k2)*h1/2; result_for_RK_1(i2+1) = y2(1,1); end subplot(2,2,1);plot(x1,result_for_Euler_1,'b'); xlabel(' time /s ');ylabel(' Uc /V ');title('Result for Euler method');legend('Euler'); subplot(2,2,2);plot(x2,result_for_RK_1,'r'); xlabel(' time /s ');ylabel(' Uc /V ');title('Result for Runge-Kutta method');legend('Runge-Kutta'); subplot(2,1,2);plot(x1,result_for_Euler_1,'b', x2,result_for_RK_1,'r'); xlabel(' time /s ');ylabel(' Uc /V '); title('Comparision of results between Euler and RK');legend('Euler','Runge-Kutta');
3. 运行结果
问题(1):
问题(2):