Re: [問題] 想請教一個解聯立ODE的問題已回收

看板MATLAB作者 (幫解MATLAB難題囧)時間16年前 (2009/08/05 19:22), 編輯推噓3(303)
留言6則, 1人參與, 最新討論串1/1
※ 引述《oscar328111 ()》之銘言: : http://www.wretch.cc/album/show.php?i=leeyuyao&b=33&f=1715922997&p=0 : 原聯立式如上面連結 : 除x跟Q之外 其他參數皆為已知 : 要求出 x跟Q這兩項未知數 另外 括號裡面的t時間 與式子中分母的t是不一樣的東西(也是已知的參數) : 請問可以用ode解題器去解嗎? 還是有其他方法? : 以下是我大略寫出的程式 但是有錯誤 不知道那裡有問題? : (我是令y(1)=x y(2)=dx y(3)=Q y(4)=dQ) : ---------------------------- : y0=[0,0,0,0]; : [t,y]=ode15s(@pzt1,[0 5],y0); : plot(t,y(:,1),t,y(:,2),':'); : xlabel('time(t)'); : ylabel('y(t)'); : pzt1.m 副程式: : function ydot=pzt1(t,y) : E=44; : A=25; : kx=100; : d33=650; : L=16; : th=0.123; : m=2.3; : C=1.59; : F=20; : k=500; : R=4.94; : ydot=[y(2);(-k*y(1)+((d33*k*L)/th)*(1/C)*y(3)-kx*y(1)+F)/m; : y(4);((1/C)*d33*n*k*y(1)-(1/C)*y(3))/R]; ------------------------------------------------------------------ function pttex124 % set x(1)=x x(1)' = x' =x(2) % x(2)' = x'' % x(3) = Q(t) [t x] = ode15s(@pttexode,[0 1],[0.2;0.1;0.1]) plot(t,x) function f = pttexode(t,x) n=1;%這邊自己改 E=44; A=25; d33=650; L=16; th=0.123; m=2.3; C=1.59; F=20; k=500; R=4.94; f=zeros(3,1); f(1) = x(2); f(2) = (-k*x(1)+((d33*k*L)/th)*(1/C)*x(3)+F)/m; f(3) = ((1/C)*d33*n*k*x(1)-(1/C)*x(3))/R; --------------------------------------------------------- -- 數值方法 : 求根值 . ODE系統 . DDE系統. DAE系統. PDE系統 非線性聯立系統. 化工程序控制系統 . 力學系統 RLC 系統 . MCK 系統 . Laplace 轉換 系統 其他 : 工程數學 .微積分.化工程序.輸送現象.化工程序線性控制 Simulator . MATLAB tool box . Simulink . FORTRAN 不會影像處理.....囧> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.27.39

08/05 21:13, , 1F
感謝zupo大大 我還有後續的問題想請教你 可否收一下信
08/05 21:13, 1F

08/05 21:13, , 2F
謝謝!!~
08/05 21:13, 2F

08/06 00:36, , 3F
請問延續原本的公式我如果要再把裡面的Q拿出來用該怎
08/06 00:36, 3F

08/06 00:36, , 4F
麼寫呢?
08/06 00:36, 4F

08/06 00:37, , 5F
例如畫出Q對於時間t的關係圖
08/06 00:37, 5F

08/06 00:40, , 6F
其中Q值已代換為標準式x(3)
08/06 00:40, 6F
文章代碼(AID): #1AUMjquJ (MATLAB)
文章代碼(AID): #1AUMjquJ (MATLAB)