⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gauss.m

📁 数值分析---部分算法 希望对需要的人有一点点用!
💻 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 + -