MATLAB高斯 您所在的位置:网站首页 gausslegendre题目 MATLAB高斯

MATLAB高斯

2023-04-21 08:20| 来源: 网络整理| 查看: 265

一.题目

计算 I=\int_{L}\sqrt y ds ,其中L是抛物线 y=x^2 上点O(0,0)与(1,1)之间的一段弧。

来源:同济大学数学系. 高等数学下册[M].北京:高等教育出版社,2014.

e.高斯—勒让德积公式计算积分。

二.程序‘

step one 定义高斯求积公式

function[A,x]=Guass1(N) i=N+1; f=((sym('t'))^2-1)^i; f=diff(f,i); t=solve(f); for j=1:i for k=1:i X(j,k)=t(k)^(j-1); end if mod(j,2)==0 B(j)=0; else B(j)=2/j; end end X=inv(X); for j=1:i A(j)=0; x(j)=0; for k=1:i A(j)=A(j)+X(j,k)*B(k); x(j)=x(j)+t(j); end x(j)=x(j)/k; end end

step two 定义高斯勒让德求积公式

function g=GuassLegendre(a,b,n,m) %a,b分别是积分的上下限; %n+1为节点个数; %m是调用f1.m中第几个被积函数; [A,x]=Guass1(n); g=0; for i=1:n+1 y(i)=(b-a)/2*x(i)+(a+b)/2; f(i)=f1(m,y(i)); g=g+(b-a)/2*f(i)*A(i); end

step three定义被积函数

function f=f1(i,x) g(1)=x*(1+4*x^2)^(1/2); f=g(i); end

Step four 计算2个高斯点以及3个高斯点情况下,所对应的积分

GuassLegendre(0,1,2,1) %有两个高斯点的积分 GuassLegendre(0,1,3,1) %有三个高斯点的积分

三.结果

GuassLegendre(0,1,2,1) ans = 0.848413470148150 >> GuassLegendre(0,1,3,1) ans = 0.848352037695885

四.分析

(一)数学原理

对于公式 \int_{a}^{b}{f(x)\rho(x)dx\approx\sum_{k=0}^{n}A_kf(x_k)} ,如果求积公式具有2n+1次代数精度,则称其节点均为高斯点,所对应的公式为高斯型求积公式。高斯公式不局限与等步长分区域,他的意思是不用二分的方法直接划分区域,在简单的计算下就可以得到高精度的积分式子。插值型求积公式的节点 a\le x_0\le x_1\le\cdots\le x_n\le b 是高斯点的充分必要条件是以这些节点为零点的多项式

w_{n+1}(x)=(x-x_0)(x-x_1)\cdots(x-x_n) (该式子应该想起勒让德多项式)

与任何次数不超过n的多项式p(x)带权 \rho(x) 正交,即 abwn+1(x)p(x)ρ(x)dx=0 .同时由于其系数都大于0,所以我们也可以得到该求积公式是收敛的。

对于勒让德求积公式,就是说我们取权函数 \rho\left(x\right)=1 ,同时区间为[-1,1],所以勒让德多项式的零点就是我们的求积的高斯点。

(二)实验步骤

(三)数据分析

对应实验数据发现当我们使用三个高斯点的时候,代数精度就可以达到我们之前使用的龙贝格求积公式。就此,我们可以说明高斯求积方法积分的精度很高,数值稳定,收敛速度也很快,但是因为涉及到高斯点的选取问题,无论是高斯—勒让德多项式还是高斯—切比雪夫多项式,其节点都是插值点。所以其系数的计算比较麻烦,而且要求已知积分函数



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有