📄 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 + -