11-常微分方程式.ppt.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11-常微分方程式.ppt

範例-3 上述範例畫三度空間之相位圖形 範例11-8:odeLorenz02.m 圖形中只出現一條曲線,此曲線代表以三個狀態變數為座標、以時間為參數的一條三度空間中的曲線 options = odeset(OutputFcn, odephas3); % 使用 odephas3 進行繪圖 ode45(lorenzOde, [0 10], [20 5 -5], options); 提示 要觀看 Lorenz 渾沌方程式隨時間而變的動畫,可在 MATLAB 指令視窗下直接輸入lorenz 指令 範例-4 (I) 假設 OutputFcn 設成“myfunc”: options = odeset(OutputFcn, myfunc) ODE 指令會呼叫 myfunc(tspan, y0, ‘init’) 讓 myfunc 進行各種初始化動作 積分步驟中,ODE 指令會持續呼叫status=myfunc(t, y) 若 status=1,則停止積分 積分結束時,ODE 指令會呼叫 myfunc([ ], [ ], ‘done’),讓 myfunc 進行收尾動作 OutputSel 可指定要傳送到 OutputFcn 的狀態變數之元素 範例-4 (II) 只要傳送第一及第三個 Lorenz 渾沌方程式的狀態變數至 odeplot 範例11-9:odeOutputSelect01.m options = odeset(OutputSel, [1,3]) % 只畫出第一和第三個狀態變數 ode45(lorenzOde, [0 10], [20 5 -5], options); 範例-5 (I) Refine 欄位可以使用內差法來增加輸出狀態變數的密度,以得到較平滑的輸出曲線 用 Refine 欄位使 ode23 的輸出點個數增為原先三倍: 範例11-10:odeRefine01.m subplot(2,1,1); ode23(vdp1, [0 25], [3 3]); subplot(2,1,2); options = odeset(Refine, 3); ode23(vdp1, [0 25], [3 3], options); 範例-5 (II) 範例-6 當 Stat=on 時,ODE 指令會在執行完畢後顯示計算過程的各種統計數字 範例11-11:odeShowStats01.m 71 successful steps 10 failed attempts 487 function evaluations [t, y] = ode45(vdp1, [0 25], [3 3], odeset(Stat, on)); 範例-7 相同的統計數字,也可由 ODE 指令的第三個輸出變數傳回 範例11-12:odeShowStats02.m s = 71 10 487 0 0 0 [t, y, s] = ode45(vdp1, [0 25], [3 3]); s 說明 MaxStep 及 InitialStep 欄位可用來調整最大積分步長及起始積分步長 一般而言,不必去調整這兩個數值,因為 ODE 指令本身就具有步長自動調適功能 若要產生更多輸出點,可直接調整 Refine 欄位值。調整 MaxStep 雖然可以達到同樣效果,但是計算時間可能會大幅增加 如果積分結果不甚準確,請勿先調降 MaxStep,您應先調降 RelTol 及 AbsTol。調降 MaxStep 是最後的步驟 11-4 ODE 檔案的進階用法 更進一步介紹 ODE 檔案的進階用法,使 ODE 指令能夠迅速且準確地算出積分結果 可將 tspan(積分時間範圍)、y0(起始值)及 options(ODE參數)置於 ODE 檔案中,這些變數必須能由 ODE 檔案傳回,其格式為: [tspan, y0, options] = odeFile([], [], init) 假設 odeFile 即是我們的 ODE 檔案且 odeFile 滿足上述要求,則可以直接呼叫 ODE 指令如下: [t, y] = solver(odeFile) 其中 solver 為前述的任一個 ODE 指令,它可由 odeFile 直接得到 tspan、y0 及 options 等積分所需的資訊 ODE 檔案的進階用法範例-1 (I) 以前述的 van

文档评论(0)

cynthia_h + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档