如何用不同的定義直重複畫圖一個方程式的圖已回收

看板MATLAB作者時間16年前 (2010/01/17 22:02), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
g=@(t,x,y) sin(8*t)+8*t*cos(8*t); f=@(t,x,y) 16*cos(8*t)-64*x; y=g; t = 0; x = 0; y = 0; h=10; for a=1:5 h=h/10; while t<20 k1x = h.*g(t,x,y); k1y = h.*f(t,x,y); k2x = h.*g(t+h./2,x+k1x./2, y+k1y./2); k2y = h.*f(t+h./2,x+k1x./2, y+k1y./2); k3x = h.*g(t+h./2,x+k2x./2, y+k2y./2); k3y = h.*f(t+h./2,x+k2x./2, y+k2y./2); k4x = h.*g(t+h,x+k3x,y+k3y); k4y = h.*f(t+h,x+k3x,y+k3y); x = x + (k1x + 2*k2x + 2*k3x + k4x)/6; y = y + (k1y + 2*k2y + 2*k3y + k4y)/6; t=t+h; hold on if h==0.1 plot(t,x,'+'); hold on else plot(t,x,'+'); hold on end end end hold off 我使用runge kutta法畫這個方程式 想比較取不同的區間大小對應出的x,t圖的差異 所以我的h有5個 可是我不管怎麼設定 圖都只會畫一個 沒有迴圈在畫第二個圖 想請問我該怎麼做呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.216.21

01/17 22:55, , 1F
請用vector作圖..for迴圈結束後回到初始值
01/17 22:55, 1F
文章代碼(AID): #1BKnY8AG (MATLAB)