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