[問題] 解ode時如何加上for loop已回收
先描述一下我的問題
一個線性時變系統
xdot=[0 1 ; -3+cos(t) 0]x
我希望用狀態回授的方式變成這樣
xdot=[k1 1 ; -3+cos(t) k2]x
然後找 k1 k2 好讓這個系統穩定 (穩定的判斷方法用Floquet theorem 不過不是重點)
要判斷穩定的第一個步驟是先解ode
假設k1=-10:10; k2=-10:10; 我希望能在這範圍找到一組k讓系統穩定
也就是在這範圍內不斷的解ode
不知道該怎麼下手@@
先謝謝各位大大!
____________________________________
我的fuction檔為
function dy=test(t,y,k1,k2)
dy=zeros(2,1);
dy(1)=k1*y(1)+y(2);
dy(2)=(-3+cos(t))*y(1)+k2*y(2);
____________________________________________
script為
t = 1:0.1:5;
for k1=-1:1;
for k2=-1:1;
[t,y] = ode45(@test,[t],[1 0]);
end
end
___________________________________________
結果matlab說我沒給k 我不是都給了嗎 = =
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.227.131.122
※ 編輯: Ashiou49 來自: 61.227.131.122 (10/11 23:26)
→
10/11 23:28, , 1F
10/11 23:28, 1F
→
10/11 23:37, , 2F
10/11 23:37, 2F
→
10/11 23:41, , 3F
10/11 23:41, 3F
推
10/11 23:50, , 4F
10/11 23:50, 4F
→
10/11 23:51, , 5F
10/11 23:51, 5F
→
10/12 00:00, , 6F
10/12 00:00, 6F
→
10/12 00:02, , 7F
10/12 00:02, 7F
→
10/12 00:04, , 8F
10/12 00:04, 8F
→
10/12 00:21, , 9F
10/12 00:21, 9F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章