matlab程式设计进阶篇一般数学函数的处理与分析内容摘要:

1 16 I initial 3 interpolation 4 bisection 5 interpolation 6 bisection 7 interpolation 8 interpolation 9 interpolation 10 interpolation 11 interpolation 12 interpolation 13 interpolation Zero found in the interval: [1, 1]. a = MATLAB 程式設計進階篇:一般數學函數的處理與分析 數值積分  MATLAB 可用於計算單變函數定積分  quad:適應式 Simpson 積分法( Adaptive Simpson Quadrature)  quadl:適應式 Lobatto 積分法( Adaptive Lobatto Quadrature) MATLAB 程式設計進階篇:一般數學函數的處理與分析 定積分  計算 humps 在 [0, 1] 的定積分 q = quad(@humps, 0, 1) q =  quad 及 quad8 都應用遞迴程序  若遞迴次數達 10 次,兩種方法均會傳回 Inf  表示所計算之定積分可能不存在  quad 及 quad8第四個引數用來指定積分的相對誤差容忍度 MATLAB 程式設計進階篇:一般數學函數的處理與分析 曲線的長度 (1)  quad 及 quadl 計算曲線的長度  一曲線是由下列參數化的方程式來表示  t 的範圍為 [0, 3*pi]  範例: ttzttyttx)()c o s ()()2s in ()(t = 0::3*pi。 plot3(sin(2*t), cos(t), t)。 MATLAB 程式設計進階篇:一般數學函數的處理與分析 曲線的長度 (2)  此曲線的長度等於 dtttdtdtdzdtdydtdx   3022302221)(s i n)2(c o s41 0 . 500 . 511 0 . 500 . 510246810MATLAB 程式設計進階篇:一般數學函數的處理與分析 曲線的長度 (3)  先定義函數 type function out = curveLength(t) out = sqrt(4*cos(2*t).^2+sin(t).^2+1)。  曲線長度可計算如下 len = quad(@curveLength, 0, 3*pi) len = MATLAB 程式設計進階篇:一般數學函數的處理與分析 雙重積分 (1)  dblquad 指令  用來計算雙重積分  欲計算  其中  先建立被積分的函數 type function out = integrand(x, y) out = y*sin(x) + x*cos(y)。  m a xm inm a xm in),(yyxxdx dyyxf)s i n ()s i n (),( yxxyyxf MATLAB 程式設計進階篇:一般數學函數的處理與分析 雙重積分 (2)  計算雙重積分 result = dblquad( 39。 integrand39。 , xMin, xMax, yMin, yMax)  其中  xMin:內迴圈積分的下界值  xMax:內迴圈積分的上界值  yMin:外迴圈積分的下界值  yMax:外迴圈積分的上界值 MATLAB 程式設計進階篇:一般數學函數的處理與分析 雙重積分 (3)  範例:  一般的情況下 dblquad 會呼叫 quad 計算定積分。 若須呼叫更為精確的 quadl,可執行下列指令 result = dblquad(@integrand, xMin, xMax, yMin, yMax, 39。 quadl39。 ) result = xMin = pi。 xMax = 2*pi。 yMin = 0。 yMax = pi。 result = dblquad(@integrand, xMin, xMax, yMin, yMax) result = MATLAB 程式設計進階篇:一般數學函數的處理與分析 函數的優化  MATLAB 提供了數個基本指令來進行數學函數的優化,本節將介紹:  單變數函數的最小化 : fminbnd  多變數函數的最小化 : fminsearch  設定最佳化的選項  若讀者有興趣使用較複雜的方法,可以使用「最佳化工具箱」( Optimization Toolbox) MATLAB 程式設計進階篇:一般數學函數的處理與分析 單變函數的最小化  fminbnd 指令  尋求 humps 在 [, 1] 中的最小值  範例:  最小值發生在 x = ,且最小值為 [x, minValue] = fminbnd(@humps, , 1) x = minValue = 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1102030405060708090100MATLAB 程式設計進階篇:一般數學函數的處理與分析 尋求最小值的中間過程 (1)  尋求最小值的中間過程  使用 optimset 指令來設定顯示選項  再將 optimset 傳回結構變數送入 fminbnd  範例 815: opt = optimset(39。 disp39。 , 39。 iter39。 )。 % 顯示每個步驟的結果 [x, minValue] = fminbnd(@humps, , 1, opt) MATLAB 程式設計進階篇:一般數學函數的處理與分析 尋求最小值的中間過程 (2)  左表列出 x值的變化及相對的函數值 f(x)  最後一欄位列出求極小值的方法,包含  黃金分割搜。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。