?? gauss.m
字號:
% -------------------------------------------------------------------------
% --------------------------復化高斯積分算法--------------------------------
% 函數 [Gauss2,Gauss3]=Gauss(func,a,b)
% 功能 通過兩點&三點的復化高斯積分算法,求出某個積分的結果
% 輸入參數: a,b 積分區間(a,b)
% 輸出參數:Gauss2 兩點的復化高斯積分結果
% Gauss3 三點的復化高斯積分結果
% >> [Gauss2,Gauss3]=Gauss('sin',0,pi)
% -------------------------------------------------------------------------
function [Gauss2,Gauss3]=Gauss(func,a,b)
n=1000; % n 把積分區間(a,b)化為小區的個數,用于復化, 則一個小區間的長度為(b-a)/n,默認為1000
Gauss2=0;
t=(b-a)/n;
for i=1:n
Gauss2=Gauss2+0.5*t*(feval(func,-0.5*t/sqrt(3)+t*(i-0.5))+feval(func,0.5*t/sqrt(3)+t*(i-0.5)));
end
Gauss3=0;
for i=1:n
Gauss3=Gauss3+0.5*t*(5/9*feval(func,-sqrt(15)*0.5*t/5+t*(i-0.5))+8/9*feval(func,t*(i-0.5))+5/9*feval(func,sqrt(15)*0.5*t/5+t*(i-0.5)));
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -