高斯——拉盖尔积分法和高斯——勒让德积分法求积分
1.介绍
微积分的两大部分是微分与积分。微分实际上是求一函数的导数,而积分是已知一函数的导数,求这一函数。所以,微分与积分互为逆运算。实际上,积分还可以分为两部分。第一种,是单纯的积分,也就是已知导数求原函数,称为不定积分9。相对而言,另一种就是定积分了,之所以称其为定积分,是因为它积分后得出的值是确定的,是- -个数,而不是-一个函数。计算定积分的方法很多,而高斯一勒让德公式就是其中之一。
高斯积分法是精度最高的插值型数值积分,具有阶精度,并且高斯积分总是稳定。而高斯求积系数,可以由Lagrange 多项式Q插值系数进行积分得到。
高斯-勒让德求积公式是构造高精度差值积分的最好方法之一。他是通过让节点和积分系数待定让函数以此取次多项式使其尽可能多的能够精确成立来求出积分节点和积分系数。高斯积分的代数精度是,而且是最高的。通常运用的是的积分节点和积分系数,其他积分域是通过一定的变换变换到-1到1之间积分。
2.高斯-勒让德求积公式
在区间上,高斯-勒让德求积公式为
∫f(x)dx≈∑Akf(xk),上限为1,下限的-1,连加从0到x
我们知道勒让德多项式Pn+1(x)的零点就是求积公式的高斯点,形如上式的高斯公式特别的称为高斯-勒让德公式。
若取P1(x)=x的零点xo=0做节点构造求积公式.
∫f(x)dx≈Aof(0),上限为1,下限的-1
令它对f(x)=1准确成立,即可定出
A0=2。这样构造出的一点高斯勒让德求积公式是中矩形公式,再取
P2(x)=言(3x*2-1)的两个零点土方构造求积公式
∫f(x)dx≈Aof(1/(-√3))+A1f(1/(√3)),上限为1,下限的-1
令它对f(x)=1,x都准确成立,有
Ao+A1=2,Ao(1/(-√3))+A1(1/(√3))=0
由此解出Ao=A1=1,从而得到两点高斯-勒让德求积公式
∫f(x)dx≈Aof(1/(-√3))+A1f(1/(√3)),上限为1,下限的-1
三点高斯-勒让德公式的形式是
∫f(x)dx≈5/9f(-√15/5)+8/9f(0)+5/9f(√15/5)
代码如下:
GaussP=[-0.5773503 0.5773503]; %高斯点
GaussA=[1 1]; %高斯系数
h = 0.1; %剖分步长
x = 0:h:1; %区间[0,1]
for i=1:length(x)-1points = h/2*GaussP + (x(i+1)+x(i))/2; %区间变换f(i) = 0;for k=1:2f(i) = f(i) + h/2*points(k)^2*GaussA(k);end
end
result = sum(f)
高斯拉盖尔法则是专门用于指数衰减函数的形式的积分
∫e^(-x)f(x)dx≈∑Wif(xi),上限为无穷,下限为0,从i=0相加到i=n
该法则的权值和样本点以一个幂指数的积分函数和积分范围的一半为无穷大9。从上面方程的右则可以看到,该法则的样本点只会被代入函数f(x),而不是整个被积函数e - xf(x)。
这种方法之所以这样叫,是因为采样只点是一个叫做拉盖尔多项式的多项式的根,这种多项式是以这种形式出现的
Ln(x)=e(x)(dn/dxn)(e(-x)x^n)=0
下表给出了n= 5时该方法的权重和采样点的总结。注意,随着方法顺序的增加,加权系数值迅速减小。高斯-拉盖尔法则的系数可以使用多项式替换来导出。
代码如下:
function q = IntGaussLager(f,n,AK,XK)
%被积积分:f;
%自定义系数:AK
%自定义积分点:XK;
%积分值:q;
if (n<6 && nargin == 2)AK = 0;XK = 0;
elseq=sum(AK.*subs(str2sym(f),findstr2sym(f),XK));
end
switch ncase 2 %q=0.853553*subs(str2sym(f),findstr2sym(str2sym(f)),-0.585786)+...0.146447*subs(str2sym(f),findstr2sym(str2sym(f)),3.414214);case 3q=0.711093*subs(str2sym(f),findstr2sym(str2sym(f)),0.415575)+...0.278518*subs(str2sym(f),findstr2sym(str2sym(f)),2.294280)+...0.0103893*subs(str2sym(f),findstr2sym(str2sym(f)),6.289945);case 4q=0.603154*subs(str2sym(f),findstr2sym(str2sym(f)),0.322548)+...0.357419*subs(str2sym(f),findstr2sym(str2sym(f)),1.745761)+...0.0388879*subs(str2sym(f),findstr2sym(str2sym(f)),4.536620)+...0.000536295*subs(str2sym(f),findstr2sym(str2sym(f)),9.395071);case 5q=0.521756*subs(str2sym(f),findstr2sym(str2sym(f)),0.2635601)+...0.398667*subs(str2sym(f),findstr2sym(str2sym(f)),1.413403)+...0.0759424*subs(str2sym(f),findstr2sym(str2sym(f)),3.596426)+...0.00361176*subs(str2sym(f),findstr2sym(str2sym(f)),7.085810)+...0.0000233700*subs(str2sym(f),findstr2sym(str2sym(f)),12.640801);
end
高斯——拉盖尔积分法和高斯——勒让德积分法求积分相关推荐
- 高斯-勒让德公式 求积分
1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 //计算f(x)=1/x 在[1,3]上的积 ...
- 重复高斯勒让德法则(gauss-legendre)求积分(python,数值积分)
第四十一篇 高斯勒让德法则 牛顿-科特斯法则很方便使用,因为样本点在积分范围内均匀分布,而且权重系数很容易记住(至少到辛普森法则).详情可见重复牛顿-科特斯法则 高斯法则采取样本点在积分范围内的最佳间 ...
- 使用 Boost.Multiprecision 来实现高精度高斯-拉盖尔正交积分
使用 Boost.Multiprecision 来实现高精度高斯-拉盖尔正交积分 实现功能 C++实现代码 实现功能 使用 Boost.Multiprecision 来实现高精度高斯-拉盖尔正交积分 ...
- 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组(转载)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yyywww666/article/details/42805071 算法介绍(迭代法介绍): 代码C ...
- 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组
算法介绍(迭代法介绍): 代码C语言实现; # include<stdio.h> # include<math.h> # define N 6 /* *使用雅可比迭代法和高斯- ...
- 关于mpi的理论知识以及编写程序来实现数据积分中的梯形积分法。
几乎所有人的第一个程序是从"hello,world"程序开始学习的 #include "mpi.h" #include <stdio.h> int ...
- 单高斯分布模型GSM,高斯混合模型GMM
本文就高斯混合模型(GMM,Gaussian Mixture Model)参数如何确立这个问题,详细讲解期望最大化(EM,Expectation Maximization)算法的实施过程. 单高斯分布 ...
- 机器学习——概率分类(三)高斯概率密度与混合高斯模型
机器学习--概率分类(三)高斯概率密度与混合高斯模型 在之前的文章机器学习--概率分类(一)朴素贝叶斯模型一文中,我们主要介绍了机器学习中的概率分类问题.我们提出了简单的朴素贝叶斯模型来进行概率密度的 ...
- 基于Matlab的斜率积分法求离面位移
一.实例演示 例如,现有某相位剖线如下图所示: 图1 相位剖线 根据下式可求出,离面位移导数: ∂w∂x=−λΔx4πδx\frac{\partial w}{\partial x}=-\frac{\l ...
- 幂级数展开求积分_72道积分题 略详解析(51-72)
原文章:湖心亭看雪:这72道积分题目会积了,绝对是高高手~~ 系列: 秋分乀:72道积分题 略详解析(1-20) 秋分乀:72道积分题 略详解析(21-30) 秋分乀:72道积分题 略详解析(31-5 ...
最新文章
- AOP原理-AnnotationAwareAspectJAutoProxyCreator执行时机 || InstantiationAwareBeanPostProcessor
- 在多台服务器上简单实现Redis的数据主从复制
- SAP CRM settype COMM_PROD_VAR
- springboot配置连接rds_java – 在AWS-EC2上运行的SpringBoot应用程序无法连接到MySQL AWS-RDS数据库...
- C语言520心形表白,初学者福利!!
- 学习笔记day5:inline inline-block block区别
- Java进阶:Docker
- ASP.NET开发框架之HIPPO技术内幕(三)--数据库连接
- mysql临时表多线程时能用吗_学会使用临时表优化,切记不要乱用临时表(记录一)...
- IBM SL400驱动
- ZLG USBCAN-II+ Linux驱动安装make报错问题
- 西门子阀门定位器6DR5011-0NG11-0AA0
- Excel两列数据怎么找不同
- 淘宝店如何加入全屏轮播图片
- notes java api_Java中通过Notes API访问Domino数据库
- 大话微服务:(二)对于业务如何划分微服务,即微服务的颗粒度,又称业务边界
- linux 进程间界面嵌套,WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口)...
- 后台系统登录一般流程
- 1.windows11开启wsl2并安装Ubuntu 20.04
- mongodb数据库学习笔记