数值分析

数值分析期末复习(定积分)

落花浮王杯 提交于 2020-02-01 21:19:45
2,代数精度 (1)目的: 数值求积方法是近似方法,为了保证精度,我们自然希望公式能对“尽可能多”的函数准确成立,这就提出了所谓代数精度的概念。 (2)定义: ①若某个求积公式对于次数≤m的多项式均能够准确成立,但对于m+1次多项式就不一定准确,则称该求积公式有m次代数精度。 ②若某个求积公式对于1, x,…, xm 均能够准确成立,但对于xm+1就不准确成立,则称该求积公式有m次代数精度。 (3)定理: 当n为偶数时,牛顿—柯特斯公式至少有n+1次代数精度。注:在实际应用时,出于对计算复杂性和计算速度的考虑,我们常常使用低阶偶数求积公式,代替高一阶的奇数求积公式。 3,插值求积公式 (1)定理:具有n+1个求积节点的机械求积公式至少有n次代数精度的充分必要条件是,它是插值型的。 试总结证明机械求积公式是插值型求积公式的方法。 (2)求积公式的余项 若求积公式的代数精度为m,则余项形如 其中K是不依赖于f(x)的待定参数。 3,牛顿—柯特斯求积公式{梯形,辛普森,柯特斯} 4,复化求积公式 1、 定义: 为了提高精度通常可把积分区间分成若干子区间,再在每个子区间上用低阶求积公式。这种方法称为复化求积法。 复化求积法就是先用低阶的牛顿—柯特斯公式求得每个子区间[xk, xk+1]上的积分 来源: CSDN 作者: YuanYWRS 链接: https://blog.csdn.net

数值分析笔记_3 埃尔米特插值

徘徊边缘 提交于 2020-01-08 20:38:11
埃尔米特插值 我们知道,线性插值思想在于利用n个零点解出唯一的n维多项式映射,这种方法保证了曲线的连续性但是不能保证其平滑性,例如拉格朗日插值多项式在高次情况下容易出现的抖动问题正反映了它的导数与原曲线差别是很大的。在一些情况下我们需要限定拟合曲线的导数值也尽量接近原曲线,这时可以采用Hermite插值的方法。 现假设有一函数 f ∈ C [ a , b ] f\in C[a,b] f ∈ C [ a , b ] ,给出一系列探测点 { ( x 0 , f ( x 0 ) ) , ( x 0 , f ′ ( x 0 ) ) , ( x 0 , f ′ ′ ( x 0 ) ) , ⋯ ( x 0 , f m ( x 0 ) ) , } \{ (x_0,f(x_0)),(x_0,f\prime(x_0)),(x_0,f\prime\prime(x_0)),\cdots (x_0,f^{m}(x_0)), \} { ( x 0 ​ , f ( x 0 ​ ) ) , ( x 0 ​ , f ′ ( x 0 ​ ) ) , ( x 0 ​ , f ′ ′ ( x 0 ​ ) ) , ⋯ ( x 0 ​ , f m ( x 0 ​ ) ) , } ,我们可以写出它在 x 0 x_0 x 0 ​ 处的密切多项式: P ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x −

武汉理工大学-数值分析-2019年期末复习提纲

限于喜欢 提交于 2019-12-24 08:34:37
数值分析2019年期末复习提纲 制作:纪元 本提纲遵循CC-BY-NC-SA协议 (署名-非商业性-相同方式共享) 文章目录 考试相关 注意事项 分数划分 考试时间 第一章 解析解、精确解: 数值解、近似解: 误差来源 模型误差、观测误差 截断误差(方法误差) 舍入误差 绝对误差、相对误差: 有效数字(重点) 误差估计 稳定性、收敛性 病态问题 计算条件数 计算方法优化 第二章 为什么差值 如何插值 基函数、系数 拉格朗日基函数 牛顿插值 拉格朗日插值 龙格现象 赫尔敏特插值 分段线性插值 三次样条插值 第四章 数值积分 牛顿-科特斯 龙贝格 自适应积分 高斯求积(重要) 第五章 线性方程组直接解法 LU分解(另一角度高斯消去) 平方根法 追赶法 第六章 范数 条件数 迭代法 第七章 二分法 不动点迭代 阿特金加速 牛顿法 考试相关 注意事项 允许携带计算器 卷面分占总成绩的70% 分数划分 单选10*2 填空10*2 判断10*1 客观5*10 考试时间 12月29日 第一章 解析解、精确解: 解析解:可能等于精确解 数值解、近似解: 追求满足精确度要求的近似解 误差来源 误差不避免 模型误差、观测误差 数值分析不考虑 截断误差(方法误差) 算法迭代终止产生的误差 舍入误差 计算机存储数值位数有限导致的误差 绝对误差、相对误差: 实际情况下一般不要求计算具体值,因为精确值未知

数值分析---牛顿插值

孤者浪人 提交于 2019-12-14 00:48:17
# include <iostream> # include <bits/stdc++.h> using namespace std ; float m [ 100 ] [ 100 ] ; float Newton ( float x [ ] , float y [ ] , int n , float t ) { int r = 1 ; memset ( m , 0.0 , sizeof ( m ) ) ; float value = y [ 0 ] ; for ( int i = 0 ; i < n ; i ++ ) m [ i ] [ 0 ] = y [ i ] ; for ( int j = 1 ; j < n ; j ++ ) { for ( int i = j ; i < n ; i ++ ) { m [ i ] [ j ] = ( m [ i ] [ j - 1 ] - m [ i - 1 ] [ j - 1 ] ) / ( x [ i ] - x [ i - r ] ) ; r = r + 1 ; } } float w = 0.0 ; for ( int i = 1 ; i < n ; i ++ ) { w = w * ( t - x [ i - 1 ] ) ; value = value + m [ i ] [ i ] * w ; } return value ;