Re: [問題] 新手請教 空間曲線繪圖已回收

看板MATLAB作者 (eji)時間14年前 (2009/09/21 09:48), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
它的錯誤訊息是說你給的三個向量並不等長 這是因為你在用ODE45解的時候 第二個輸入給[0,1000] 它只知道要從0算到1000 中間的間格它會視問題自行調整 所以第二個輸入可改成linspace(0,1000,N) N表示0-1000你要取幾個點 這樣x,y,z就會等長度了 ※ 引述《yihann (安)》之銘言: : 題目是兩個二階ODE, : x對z微的二階ODE和y對z微的二階ODE : 我會分別把他解出,分別畫圖 : 可是要怎麼畫在同一個x y z的空間上呢? : 請教各位程式專家幫忙!! : 以下是我分別解的ODE : dx=@(z,x)[x(2);-0.001/(1.5*cos(0.5))^2*x(1)]; : [z,x]=ode45(dx,[0,1000],[1.5*cos(0.5)*tan(0.5)/sqrt(0.001),0]); : dy=@(z,y)[y(2);-0.001/(1.5*cos(0.5))^2*y(1)]; : [z,y]=ode45(dy,[0,1000],[0,tan(0.5)]); : plot3(z,y(:,1),x(:,1)) ←開始出錯了 囧 : ??? Error using ==> plot3 : Vectors must be the same lengths. : 請問這樣應該如何改呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.146.175

09/21 10:26, , 1F
謝謝你~我畫出來了~ 大感恩!!
09/21 10:26, 1F
文章代碼(AID): #1AjjjkpI (MATLAB)
文章代碼(AID): #1AjjjkpI (MATLAB)