[問題] 能有人幫我看看我這ode哪裏寫錯了嗎?已回收

看板MATLAB作者 (蛤?)時間14年前 (2011/08/03 22:48), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
抱歉 因為我是新手 help裡的ode都好複雜 上網查到這種用法 可是不知道為什麼我做出來就是不隊的 能不能幫我看一下 告訴我哪裏不對了 謝謝 function df = fc(t,F) df = zeros(1,6); df(1,1) = F(2); df(1,2) = -F(3)*F(3) + F(1)*F(1) + F(2)*F(5); df(1,3) = F(4); df(1,4) = 2.*F(3)*F(1) + F(5)*F(4); df(1,5) = -2.*F(1); df(1,6) = 2.*F(1)*F(5) - 2.*F(2); end [t,F] = ode45(@fc,[0,5],[0,0,1,0,0,0]) 錯誤: ??? Error using ==> funfun\private\odearguments FC must return a column vector. Error in ==> ode45 at 173 [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ... Error in ==> h2 at 2 [t,F] = ode45(@fc,[0,5],[0,0,1,0,0,0]) 麻煩了OTZ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.50.57.38

08/03 22:58, , 1F
初始值必須是行向量,改成這樣試試[0,0,1,0,0,0]'
08/03 22:58, 1F

08/03 23:01, , 2F
謝謝你 不過他還是一樣:'(
08/03 23:01, 2F

08/03 23:25, , 3F
錯誤是說fc輸出必須是行向量 改成df=zeros(6,1);df(1)=...
08/03 23:25, 3F
文章代碼(AID): #1EEL-lLe (MATLAB)