Re: [問題] 關於聯立高階ode的問題已回收
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章