我們可使用 int 指令來對符號運算式進行積分,例如:傳回的結果是:syms a b c x f = a*x^2+b*x+c; int(f) 上述結果是不定積分的結果,但並未包含不定常數。若要進行定積分的計算,只需加入上下限即可,可見下例:1/3*a*x^3+1/2*b*x^2+c*x 傳回的結果是syms a b c x f = a*x^2+b*x+c; int(f, 1, 2) 同 diff 指令一樣,MATLAB 會自動決定獨立變數來進行積分。若要改對不同的變數進行積分,可修改如下:7/3*a+3/2*b+c 其中 int(f, a, 1, 2) 代表 f 對 a 的定積分,上下限為 1 和 2,傳回的結果是syms a b c x f = a*x^2+b*x+c; int(f, a, 1, 2) 事實上,積分運算比微分運算還要難,所以不一定能夠找到 close-form solution,因此 MATLAB 並不是每一次都能找到積分的答案,例如:3/2*x^2+b*x+c 此時 MATLAB 會回傳一個警告訊息「Warning: Explicit integral could not be found.」,並顯示結果為:int(sin(tan(x))/x) 上述結果代表 MATLAB 無法找到 int(sin(tan(x))/x) 的 close-form solution。雖然不定積分並無 close-form solution,但我們仍可以用 double 指令來呼叫其他數值方法進行定積分,例如int(sin(tan(x))/x,x) 傳回的答案是double(int(sin(tan(x))/x, -1, 1)) 2.0689
Symbolic Math Toolbox![]()