精华内容
下载资源
问答
  • 数值积分

    万次阅读 2021-03-04 10:02:24
    数值积分-romberg算法,具体可以参考这篇文章 数值积分-simpson算法,具体可以参考这篇文章 给定函数f(x)f(x)f(x),用数值方法求积分∫abf(x)dx\int_a^b f(x) {\rm d}x∫ab​f(x)dx。 数值方法有很多种,仅介绍...

    数值积分-romberg算法,具体可以参考这篇文章

    数值积分-simpson算法,具体可以参考这篇文章

    给定函数f(x)f(x),用数值方法求积分abf(x)dx\int_a^b f(x) {\rm d}x

    数值方法有很多种,仅介绍simpson和romberg两种方法。

    simpson方法比较简单,是以二次曲线逼近的方式取代矩形或梯形积分公式,以求得定积分的数值近似解。

    romberg方法比较复杂一点,同等的计算复杂度下,精度比simpson更高。

    template<class T>
    double simpson(const T &f, double a, double b, int n)
    {
    	const double h = (b - a) / n;
    	double ans = f(a) + f(b);
    	for(int i = 1; i < n; i += 2) ans += 4 * f(a + i * h);
    	for(int i = 2; i < n; i += 2) ans += 2 * f(a + i * h);
    	return ans * h / 3;
    }
    template<class T>
    double romberg(const T &f, double a, double b, double eps = 1e-8)
    {
    	vector <double>t;
    	double h = b - a, last, curr;
    	int k = 1, i = 1;
    	t.push_back(h * (f(a) + f(b)) / 2);		//梯形 
    	do{
    		last = t.back();
    		curr = 0;
    		double x = a + h / 2;
    		for(int j = 0; j < k; ++j)
    		{
    			curr += f(x);
    			x += h;
    		}
    		curr = (t[0] + h * curr) / 2;
    		double k1 = 4.0 / 3, k2 = 1.0 / 3.0;
    		for(int j = 0; j < i; j++)
    		{
    			double temp = k1 * curr - k2 * t[j];
    			t[j] = curr;
    			curr = temp;
    			k2 /= 4 * k1 - k2;			//防止溢出 
    			k1 = k2 + 1;
    		}
    		t.push_back(curr);
    		k *= 2;
    		h /= 2;
    		i++;
    	}while(fabs(last - curr) > eps);
    	return t.back();
    }
    
    展开全文
  • 实验10 数值积分 实验目的 1了解数值积分的基本原理 2熟练掌握数值积分的MATLAB 实现 3会用数值积分方法解决一些实际问题 实验内容 积分是数学中的一个基本概念在实际问题中也有很广泛的应用同微分一样在微 积分中它...
  • 数值积分 VC 数值积分 VC 数值积分 VC 数值积分 VC
  • Matlab的数值积分问题 求和命令sum调用格式. 如果x是向量,则sum(x) 给出x的各个元素的累加和;如果x是矩阵,则sum(x)是一个元素为x的每列列和的行向量. 例3.1 调用命令sum 求向量x的各个元素的累加和 解:输入 x=[1,2,3...
  • 4.0 定积分解析方法: Newton-Leibnitz 公式.4.1 数值积分基本概念 4.1.1 为什么要数值积分 4.1.2 数值积分主要研究的问题 4.1.3 机械求积公式 4.1.4 代数精度 定义 4.1: 代数精度4.1.5 收敛性与稳定性定义 4.2:...

    4.0 定积分解析方法: Newton-Leibnitz 公式.

    4.1 数值积分基本概念

    4.1.1 为什么要数值积分

    4.1.2 数值积分主要研究的问题

    4.1.3 机械求积公式

    4.1.4 代数精度

    • 定义 4.1: 代数精度

    4.1.5 收敛性与稳定性

    • 定义 4.2:收敛的
    • 定义 4.3: 稳定的

    4.1.6 插值型求积公式:

    • 插值型求导公式
    • 插值余项公式
    • 思想:利用插值多项式:用 pn(x) 来近似 f(x)

    4.2 Newton-Cotes 公式

    • 定义 4.4: 如果插值型求积公式 (4.5) 中的节点为等距节点,则该求积公式就称为 Newton-Cotes 公式

    4.2.1 常用的低次 Newton-Cotes 公式

    • n=1时:梯形公式
    • n=2时:Simpson 公式 ;抛物线公式
    • n=3时:Simpson 3/8 公式 ; Boole 公式 ;Milne 公式
    • n=4时:Cotes 公式
    • n > 7 时:Cotes 系数中会出现负数, 会导致算法的不稳定

    4.2.2 求积公式余项的推导

    4.2.3 Newton-Cotes 公式余项的一般形式

    4.2.4 一般求积公式余项

    4.3 复合求积公式

    • 思想:与分段插值的想法类似, 为了提高计算精度, 我们也可以将积分区间分割成若干小区间, 然后再在 每个小区间使用低次 Newton-Cotes 求积公式
    • 为了简单起见, 我们通常等分积分区间:将 [a, b] 划分为 n 等份

    4.3.1 复合梯形公式: Tn

    4.3.2 复合 Simpson 公式: Sn

    4.4 带导数的求积公式

    4.4.1 带导数的梯形公式

    • 当 n = 1 时,修正的梯形公式

    4.4.2 带导数的 Simpson 公式

    • 当n=1时, 修正的 Simpson 公式

    4.5 Romberg 求积公式

    4.5.1 外推技巧

    • 在使用复合求积公式时, 由于一开始并不清楚 n 该取多大. 如果 n 太小的话就达不到计算精度要 求, 反之, 如果 n 太大, 则会增加额外的工作量. 因此我们可以采用动态的方法, 即将区间不断对分, 直到 所得到的计算结果满足指定的精度为止

    4.5.2 外推算法:Romberg 算法

    • 梯形递推公式算法简单, 易于计算机实现, 但收敛速度较慢. 下面我们介绍一个加速技巧, 即 Romberg算法
    • 通过线性组合提高误差阶的方法就是外推算法

    4.5.3 Romberg 算法计算过程

    4.6 自适应求积方法

    4.7 Gauss 求积公式

    4.7.1 为什么 Gauss 求积

    • 在 Newton-Cotes 公式中, 我们选取的是等距节点, 这样做的好处就是计算方便. 但等距节点不一定 是最好的选择, 事实上, 我们可以更好地选取节点, 使得求积公式具有更高的代数精度

    4.7.2 Gauss 求积公式

    • 定义4.5: ρ(x) 是 [a, b] 上的权函数, 2n + 1 次代数精度,则称该公式为 Gauss 求积公式, 节点 xi 称为 Gauss 点, Ai 称为 Gauss 系数
    • 定理4.8:Gauss求积公式是具有最高代数精度的插值型求积公式.

    4.7.3 Gauss 点的计算

    4.7.4 Gauss 求积公式的余项

    4.7.5 Gauss 公式的收敛性与稳定性

    4.7.10 复合 Gauss 公式

    • Gauss 公式最突出的优点就是具有最高的代数精度. 但缺点是 Gauss 点比较难计算, 而且当节点增 加时, 需要重新计算 Gauss 点. 因此我们在实际应用中, 通常是将积分区间分割成若干小区间, 然后在每 个小区间上使用低次的 Gauss 公式, 这就是复合 Gauss 公式.

    4.8 多重积分

    • 思想:计算多重积分的基本思想是化为累次积分, 然后逐个进行数值积分.
    • 为了提高计算精度, 通常也使用复合求积公式.

    4.9 数值微分

    • 思想:基本想法与数值积分类似, 即用函数值的线性组合来近似某点的导数值

    4.9.1 插值型求导公式

    • 插值型求导公式
    • 插值余项公式
    • 利用插值多项式:用 pn(x) 的导数来近似 f(x) 的导数

    4.9.2 一阶导数的差分近似

    • 中心差分公式

    4.9.3 二阶导数的差分近似

    • 中心差分公式

    4.9.4 三次样条求导

    4.9.5 数值微分的外推算法

    参考:数值分析讲义-潘建瑜

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,645
精华内容 1,858
关键字:

数值积分