[問題] 請問MATLAB解ODE的問題已回收

看板MATLAB作者 (貓與鋼琴)時間14年前 (2010/01/14 00:47), 編輯推噓3(306)
留言9則, 3人參與, 最新討論串1/2 (看更多)
各位版大好,小弟是MATLAB初心者 今天在做∫i(t)dt/c+Ri(t)+L(di(t)/dt)+Vf-V=Z 的題目 其他值我都假設為常數簡化,主要是要看我寫的回路可不可以用 我看書上是要先化成一階 令cy=∫i(t)dt y''=c(di/dt) y'' =[Z+V-Vf-RCy-y']/L 令x(1)=y,x(2)=y' x'(2)=[Z+V-Vf-RCx(1)-x(2)]/L 小弟程式寫成以下形式 function xdot=rlc(t,x); Z=20,V=5,VF=0.6,c=10^-5,L=0.4,R=2; % 數值是亂帶的 xdot(1)=x(2); xdot(2)=(Z+V-VF-R*C*x(2)-x(1))/L; xdot=[xdot(1);xdot(2)]; [t,x]=ode45('rlc',[0,20],[0,0]); % 初始條件都0 時間取0~20 polt(t,x) ======= ??? Input argument "x" is undefined. Error in ==> rlc at 3 xdot(1)=x(2); 解只出現我給的那些常數值(R,L,C..)然後就是那行ERROR 請問數值亂給會導致跑不出來的結果嗎? 還是我那邊做錯了 謝謝回答!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.66.117 ※ 編輯: inoran54787 來自: 140.115.66.117 (01/14 01:10)

01/14 01:23, , 1F
你又沒告訴程式x是什麼東西...
01/14 01:23, 1F

01/14 10:15, , 2F
X就是拆成x1,x2去取代y' y的
01/14 10:15, 2F

01/14 10:16, , 3F
微方是解y(t)
01/14 10:16, 3F

01/14 10:16, , 4F
所以x要再給定義? 謝謝
01/14 10:16, 4F

01/14 16:16, , 5F
建議你看一下help的範例
01/14 16:16, 5F

01/15 23:18, , 6F
好的 我會再去研究看看 謝謝您
01/15 23:18, 6F

01/20 15:26, , 7F
您的第一次X 需有值啊!! 比方x(1)=0.01 之類的吧!
01/20 15:26, 7F

03/01 17:05, , 8F
懂了 剛學MATLAB 很沒邏輯!!
03/01 17:05, 8F

03/01 17:05, , 9F
謝謝您!!
03/01 17:05, 9F
文章代碼(AID): #1BJVay2k (MATLAB)
文章代碼(AID): #1BJVay2k (MATLAB)