最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

三 编写 Gauss 积分方法的程序

来源:动视网 责编:小OO 时间:2025-09-26 11:04:08
文档

三 编写 Gauss 积分方法的程序

数值计算报告书日期:2014年11月8日问题名称编写Gauss积分方法的程序,要求附有算例。问题描述:编写一MATLAB程序,算法为定步长Gauss法,功能为求函数的积分。积分原理为:。MATLAB程序:functiong=nagsint(fname,a,b,n,m)%fname是被积函数,a,b分别是上下限,n为等分数,m为每段Gauss点数。switchmcase1t=0,A=2,case2t=[-1/sqrt(3),1/sqrt(3)];A=[1,1];case3t=[-sqrt(0.6
推荐度:
导读数值计算报告书日期:2014年11月8日问题名称编写Gauss积分方法的程序,要求附有算例。问题描述:编写一MATLAB程序,算法为定步长Gauss法,功能为求函数的积分。积分原理为:。MATLAB程序:functiong=nagsint(fname,a,b,n,m)%fname是被积函数,a,b分别是上下限,n为等分数,m为每段Gauss点数。switchmcase1t=0,A=2,case2t=[-1/sqrt(3),1/sqrt(3)];A=[1,1];case3t=[-sqrt(0.6
数值计算报告书

                                日期:2014 年11月8日

问题

名称

编写 Gauss 积分方法的程序,要求附有算例。

问题描述:

编写一MATLAB程序,算法为 定步长Gauss法,功能为求函数的积分。积分原理为:

MATLAB程序:

function g=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.5688 0.478629 0.236927];

    otherwise

        error('本程序Gauss点数只能取1,2,3,4,5');

end

% t为Gauss点,A为求积系数。

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));

 

算例:

求解积分:

在MATLAB的Command Window中输入:

>> format long;nagsint(inline('sin(x)./x'),eps,1,2,3),format short;

计算结果与分析:

计算结果如下:

ans =

   0.946083071343027 

数据分析:

    这里使用两段复化三点Gauss公式,已达到8位有效数字的精度。

文档

三 编写 Gauss 积分方法的程序

数值计算报告书日期:2014年11月8日问题名称编写Gauss积分方法的程序,要求附有算例。问题描述:编写一MATLAB程序,算法为定步长Gauss法,功能为求函数的积分。积分原理为:。MATLAB程序:functiong=nagsint(fname,a,b,n,m)%fname是被积函数,a,b分别是上下限,n为等分数,m为每段Gauss点数。switchmcase1t=0,A=2,case2t=[-1/sqrt(3),1/sqrt(3)];A=[1,1];case3t=[-sqrt(0.6
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top