📄 nagsint.m
字号:
function g=nagsint(fname,a,b,n,m)
%用途:定步长Gauss法求函数的积分
%格式:t=nagsint(fname,a,b,n,m) fname是被积函数,a,b分别为下上限,n为等份数
% m为每段Gauss点数
switch m
case 1
t=0, A=2;
case 2
t=[-1/sqrt(3), 1/sqrt(3)];A=[1, 1];
case 3
t=[-sqrt(0.6), 0, sqrt(0.6)];A=[5/9,8/9,5/9];
case 4
t=[-0.861136 -0.339981 0.339981 0.861136];A=[0.347855 0.652145 0.652145 0.347855];
case 5
t=[-0.906180 -0.538469 0 0.538469 0.906180];
A=[0.236927 0.478629 0.568889 0.478629 0.236927];
otherwise
error('本程序Gauss点数只能取1,2,3,4,5');
end
x=linspace(a,b,n+1);
g=0;
for i=1:n
g=g+gsint(fname,x(i),x(i+1),A,t);
end
%子函数
function g=gsint(fname,a,b,A,t)
g=(b-a)/2*sum(A.*feval(fname,(b-a)/2*t+(a+b)/2));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -