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

📄 nagsint.m

📁 Matlab数值解算法实现代码
💻 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 + -