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) 最後一欄位列出求極小值的方法,包含 黃金分割搜。matlab程式设计进阶篇一般数学函数的处理与分析
相关推荐
lynom(p)。 q = polynom(q)。 k = length() length()。 r = polynom([zeros(1,k) ] [zeros(1,k) ])。 MATLAB 程式設計進階篇: 物件導向程式設計 有了這兩個函式之後,我們就可以來測詴多項式的加減法,如下: 範例 157: 152 運算元的重載 p = polynom([3 4 2 1])。 q =
n TTTTTTTTTTxxxxxxxxxxxxxxxxxxX DXX DXA3332221113322113213213213211||||||000000||||||TXX 1Quiz! MATLAB 程式設計進階篇:線性代數 計算
ily: {1x3 cell} 187。 whos Name Size Bytes Class mystuff 1x1 692 struct array Grand total is 25 elements using 692 bytes 187。 help struct STRUCT Create or convert to structure array. ... See also
tep 執行下一列程式碼 dbstep n 執行下 n 列程式碼 dbstep in 進入下一列指令的程式碼 dbstep out 跳出目前指令的程式碼 MATLAB 程式設計入門篇:動畫製作 dbclear及 dbstatus 的用法 dbclear 用於取消中斷點,用法與 dbstop的格式同,只需將 dbstop改成 dbclear。 若要清除所有的中斷點,可用 dbclear all
程式設計入門篇:二維平面繪圖 圖軸控制範例 1 (I) 畫出正弦波在 y 軸介於 0 和 1 的部份 範例 310: x = 0::4*pi。 % 起始與結束元素為 0 及 4, 為各 % 元素相差值 y = sin(x)。 plot(x, y)。 axis([inf, inf, 0, 1])。 % 畫出正弦波 y 軸介於 0 和 1 的部份 MATLAB 程式設計入門篇:二維平面繪圖
一點。 之後再執行 ,就會直接取用速度就會變快了。 提示 MATLAB 程式設計入門篇:通用運算式 使用 mcc 時,還有幾點要注意: 如果你的 MATLAB 函式有呼叫任何你自己定義的函式,要一併放進來編譯。 如果只是要產生 C程式碼,而不產生可執行檔,可以使用「 mcc – mc 」 ( c 代表只產生 C 語言的包裝程式檔案)。 如果要檢視