Re: [問題] 關於聯立高階ode的問題已回收

看板MATLAB作者 (幫解MATLAB難題囧)時間17年前 (2008/10/25 14:33), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串4/4 (看更多)
※ 引述《grace120429 (Queen~)》之銘言: : 我已經爬過文了~~還是找不到我想要的答案>"< : 題目如下 : 有一個聯立ode如下 : 2x"+y"+x=0 : x"+y"+y=0 : 兩個變數都是對時間微分 : 我要用ode45解它~ : 那我這兩個方程式該怎麼設 : 我之前用只有一個變數的方法設 : 畫出來的圖都好怪 : 請matlab高手幫幫我 : 我是剛學matlab的新手 : 希望如果有之後ode45的解法也能一併附上~~ : 初始值是 : [x' y']=[1 0] : [x y ]=[0 0] : 拜託各位幫幫忙嚕~~~~>"< 太久沒解了.功力退步..... 2x"+y"+x=0 ----(1) x"+y"+y=0 ----(2) (1) - (2) --> x"+x-y=0 --> x" = y-x; 2*(2) - (1) --> y"+2*y-x=0 --> y" = x-2*y; 令 x = y1 --> x' = y1' = y2 --> x" = y1" = y2'; y = y3 --> y' = y3' = y4 --> y" = y3" = y4'; 翻譯為程式語法為 -------------------------------------------------- function pttex117 tspan = [0 30]; y0 = [0;1;0;0]; [t y] = ode45(@paralleleq,tspan,y0) plot(t,y(:,1),t,y(:,3)) legend('x','y') function f = paralleleq(t,y) % 2x"+y"+x=0 ----(1) % x"+y"+y=0 ----(2) % % (1) - (2) --> x"+x-y=0 --> x" = y-x; % 2*(2) - (1) --> y"+2*y-x=0 --> y" = x-2*y; % let x = y1 --> x' = y1' = y2 --> x" = y1" = y2'; % y = y3 --> y' = y3' = y4 --> y" = y3" = y4'; f = zeros(4,1); f(1) = y(2); f(2) = y(3) - y(1); f(3) = y(4); f(4) = y(1) - 2.*y(3); ------------------------------------------------------- 試試看吧 -- 1.MATLAB programming 2.ASPEN process simulation package 3.FORTRN programming 4.Advance Engineering Mathematics 5.Process Control Theory 6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport) 7.Numerical Method and Analysis 8.MATLAB Toolbox.Simulink system basic design -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.9.132.249

10/26 00:19, , 1F
高手!!太厲害了~~終於解決我的問題了
10/26 00:19, 1F

10/26 16:43, , 2F
^^ 小心阿 我同學進去兩個月已經退化到只會算三角函數了...
10/26 16:43, 2F
文章代碼(AID): #190hssdA (MATLAB)
文章代碼(AID): #190hssdA (MATLAB)