[摘记]数值方法04——函数求值
注:以下来自《C++数值算法一书》,仅对章节内容做摘要,为的是给自己扫盲,不涉及算法。
这里只讨论一些最清晰明了的一般方法。
1. 级数与其收敛性
思想:解析函数可在某点x0的邻域内展开成级数:。用这个级数可以直接估值。对于通项的模是递减的级数,可以用艾肯特δ2过程加速收敛。对交错级数(和式中项的符号交替变化),欧拉变换是强大的工具。van Wijngaarden方法是欧拉变换的一个精巧的实现方式。
2. 连分式求值
思想:连分式可作为科学计算中求函数值的有效工具,连分式如下面的形式:
连分式通常比级数展开收敛要快得多,并且收敛区域更大。求解连分式的两个比较新的方法是Steed方法和改进的Lentz方法。连分式可以做一些等价变化来加速数值运算过程。连分式的奇部分和偶部分也是连分式,分别收敛到f2n和f2n+1。
3. 多项式和有理函数
略。。避免用最最直接的方法计算——p=c[0]+c[1]*x+c[2]*x*x+c[3]*x*x*x+c[4]*x*x*x*x;,而是用p=(((c[4]*x+c[3])*x+c[2])*x+c[1])*x+c[0]。
4. 复数运算
复数的加减法很简单,但乘除运算需要注意溢出。公式在书上。
5. 递推关系与Clenshaw递推公式
许多有用的函数满足递推关系,如勒让德多项式、第一类贝赛尔函数和指数积分以及三角函数。
Clenshaw递推公式是计算求和式的一种优秀而有效的方法,该和式是系数乘上遵循递推公式的函数之积。
6. 二次方程和三次方程
二次方程的2个根上过中学的应该都知道怎么求。。。三次的也不说了,google知道的。
7. 数值求导
利用导数的定义,函数值之差除以步长,几乎肯定得到的是不精确的结果。如非迫不得已不要考虑这种情况。
8. 切比雪夫逼近
n阶切比雪夫多项式用Tn(x)表示,写成公式为:Tn(x)=Dcos(n arccos x)。我们可以用切比雪夫多项式来逼近函数,然后用它的递推式来求解。
如果得到了某一范围内逼近一个函数的切比雪夫系数之后,把它们变换成与该函数微分和积分相对应的切比雪夫系数就很简单了。
(深入讨论略)
9. 线积分求函数值
有时候你会发现,对一个函数定义的微分方程直接积分,会得到效率更高的算法。
本文原创,转载请注明出处
http://www.cnblogs.com/luluathena/
转载于:https://www.cnblogs.com/luluathena/archive/2010/12/03/1895758.html
[摘记]数值方法04——函数求值相关推荐
- 1035: 分段函数求值 C语言
1035: 分段函数求值 时间限制: 1 Sec 内存限制: 30 MB 提交: 33715 解决: 23213 [状态] [讨论版] [提交] [命题人:admin] 题目描述 已知:y是x的函数, ...
- 【C语言】分段函数求值 控制输出格式 float精确到小数点后几位
案例如下 //分段函数求值 #include <stdio.h> //#include <math.h> int main() {float x,y;printf(" ...
- Python分支基础题练习(1. 英制单位和公制单位互换 2.掷骰子决定做什么 3.分段函数求值 4.输入三条边的长度如果能构成三角形就计算周长和面积)
Python 分支基础题练习二 练习一 英制单位和公制单位互换: 代码分析: 使用Input()函数获取到数值和单位 根据输入的单位按照相应的计算方法计算出结果 输出结果 程序示例: "&q ...
- 26 利用switch语句解决问题 【项目1:投票表决器】【项目2:成绩等级】【项目3:分段函数求值switch语句版】【项目4:本月有几天?】【项目5:个人所得税计算器switch语句版】
/*项目1:投票表决器] 设计一个投票表决器,其功能是: 输入Y.y,打印agree 输入N.n,打印disagree 输入其他,打印lose */#include <stdio.h>in ...
- 函数求值需要运行所有线程_精读《深度学习 - 函数式之美》
1 引言 函数式语言在深度学习领域应用很广泛,因为函数式与深度学习模型的契合度很高,The Beauty of Functional Languages in Deep Learning - Cloj ...
- 函数求值需要运行所有线程_JavaScript函数式编程(二)
纯函数就是,对于相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用,也不依赖外部环境的状态 但是实际的编程中,特别是前端的编程范畴里,"不依赖外部环境"这个条件是根本不可 ...
- 【Matlab 控制】解方程solve() 或代入函数求值 eval() subs()
解方程用 solve() syms x eqn=sin(x)==1; solve(eqn,x) 得出方程结果 ans =pi/2 From: MATLAB的solve函数 代入求值用 eval() 配 ...
- 第23讲项目3-两段函数求值
任务和代码 /* *Copyright (c)2017,CSDN学院 *All rights reserved. *文件名称: main.c *作 者: 伍志鹏 *完成日期: 2017年9月1日 *版 ...
- 汇编语言(32位二进制数的减法、带符号数除法、字符串大小写转换、分段函数求值,含源程序)
x8086软件(dosbox.c51)资源 https://download.csdn.net/download/qq_51864704/84697203https://download.csdn.n ...
最新文章
- spark 写tidb_tidb使用坑记录
- echarts - 使用echarts过程中遇到的问题(pending...)
- php清空html_php怎么清除html代码
- 【边缘检测】BDCN:Bi-Directional Cascade Network for Perceptual Edge Detection
- 【转】地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法 C语言
- JavaBean 与 EJB 的区别
- Mysql server has gone away
- java web 播放器代码_各种网页播放器代码大全
- 2007年个人站长/SEOer必上网站
- 极差标准差方差简单计算
- QPalette类详细使用方法
- 在出境通关中如何应用智能智慧护照阅读器技术呢
- 什么专业可以留学计算机动画,美国留学计算机动画专业怎么样?
- (附源码)springboot基于微信小程序的校园外卖系统 毕业设计091024
- 10岁自闭症小孩,妈妈带她几次粪菌移植治疗后,自闭行为有所改善
- qq上word文件失效怎么恢复
- 大型网站技术架构核心原理剖析,文末附知识图谱下载
- word中每页后面的空白怎么删掉
- UN Comtrade(联合国商品贸易统计数据库)数据爬取Python代码
- pta c语言段错误,PTA常见错误