对于一个三次的函数,需要用三角函数泰勒级数展开的前多少项来估计呢?

前瞻性泰勒规则反应函数的重估计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
前瞻性泰勒规则反应函数的重估计
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
你可能喜欢1434人阅读
给定一个数A,不使用sqrt函数,求A的开方,要求精度大于0.0001
该题有两种方法求解:①牛顿迭代法;②二分法
①牛顿迭代法:
1.牛顿迭代法知识:
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。
设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。
过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近&#20284;&#20540;。重复以上过程,得r的近&#20284;&#20540;序列,其中x(n&#43;1)=x(n)-f(x(n))/f'(x(n))(公式<span style="color:#),称为r的n&#43;1次近&#20284;&#20540;,上式称为牛顿迭代公式。
2.本题迭代公式推导
因为本题的题目是求开方,设待求开方的&#20540;为A,而开方后的&#20540;为x,则A与x的关系为A=x2,即求函数f(x)=x2-A=0的根。再根据上述的公式(<span style="color:#)即x(n&#43;1)=x(n)-f(x(n))/f'(x(n)),将f(x),f”(x)带入公式得到x(n&#43;1)
= x(n)-(x2-A)/2x=x(n)&#43;(A/x- x)/2。
迭代公式:X(n&#43;1)=X(n)&#43;(A/X(n)-X(n))/2,其中A是输入的待求被开方的数,X(n)是一次与A的开方相近的数,X(n&#43;1)是下一次与A的开方相近的数 。
同理可以得到开三次放的迭代公式X(n&#43;1)=Xn&#43;(A/X^2-Xn)1/3 ,A、X(n)、X(n&#43;1)意义与开平方相同。
①输入初始&#20540;X(0),最简单的是将X(0)定为1
②通过迭代公式计算与A相近的下一个开方数X(n),直到|A-X(n)|&0.001为止。&
#include&iostream&
using namespace
double MySqrt(double A,double precision)
//A为待开方的数,precision为精度
&&&&&&&& {
&&&&&&&&&&&&&&&&&& if(A&0)
&&&&&&&&&&&&&&&&&&&&&&&&&&& throw&不能为负数!&;
&&&&&&&&&&&&&&&&&& double X=1;
&&&&&&&&&&&&&&&&&& while(abs(A-X*X)&precision)
&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&& X = X &#43;(A/X-X)/2;
&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&& return X;
&&&&&&&& }
int main()
&&&&&&&& double
&&&&&&&& cout&&&输入一个不小于0的数&;
&&&&&&&& cin&&a;
&&&&&&&& cout&&MySqrt(a,0.001)&&
&&&&&&&& return 0;
②牛顿二分法
一般地,对于函数f(x),如果存在实数c,当x=c时,若f(c)=0,那么把x=c叫做函数f(x)的零点。
解方程即要求f(x)的所有零点。
假定f(x)在区间(x,y)上连续
先找到a、b属于区间(x,y),使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a&#43;b)/2],
现在假设f(a)&0,f(b)&0,a&b
①如果f[(a&#43;b)/2]=0,该点就是零点,
如果f[(a&#43;b)/2]&0,则在区间((a&#43;b)/2,b)内有零点,(a&#43;b)/2&a,从①开始继续使用
中点函数&#20540;判断。
如果f[(a&#43;b)/2]&0,则在区间(a,(a&#43;b)/2)内有零点,(a&#43;b)/2&b,从①开始继续使用
中点函数&#20540;判断。
这样就可以不断接近零点。
通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近&#20284;&#20540;,这种方法叫做二分法。
#include&iostream&
using namespace
double MySqrt(double A,double precision)//二分法
&&&&&&&& {
&&&&&&&&&&&&&&&&&& &if(A&0)&
throw &不能为负数!&;
&&&&&&&&&&&&&&&&&& double min =0,max = A;
&&&&&&&&&&&&&&&&&& double result = (min&#43;max)/2;
&&&&&&&&&&&&&&&&&& while(abs(A-result*result)&precision)
&&&&&&&&&&&&&&&&&& {&&&&&& if(A-result*result&0)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& min =
&&&&&&&&&&&&&&&&&&&&&&&&&&& else&& max =
&&&&&&&&&&&&&&&&&&&&&&&&&&& result =(min&#43;max)/2;
&&&&&&&&&&&&&&&&&& return
&&&&&&&& }
int main()
&&&&&&&& double
&&&&&&&& cout&&&输入一个不小于0的数&;
&&&&&&&& cin&&a;
&&&&&&&& cout&&MySqrt(a,0.001)&&
&&&&&&&& return 0;
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:114752次
积分:1743
积分:1743
排名:第12608名
原创:57篇
转载:55篇
评论:18条
(1)(2)(1)(8)(1)(5)(1)(1)(1)(17)(9)(9)(1)(10)(21)(24)对函数上某一个点进行泰勒级数的展开//是干嘛用的?_百度作业帮
对函数上某一个点进行泰勒级数的展开//是干嘛用的?
对函数上某一个点进行泰勒级数的展开//是干嘛用的?
可以用于估计这个点附近的函数值,分析这个点附近的函数性质.因为往往有的时候函数形式很复杂,甚至还套着积分号什么的,直接分析函数性质很难,所以做泰勒展开,从而变成形式简单的多项式函数.另外也可以用于估计形式复杂的函数某点附近的函数值.理由同上.
表示区间用的请问在高等数学的无穷级数题目中:将函数展开成泰勒级数和将函数展开成幂级数是一个意思吗?请给出稍微详细点的解释,_百度作业帮
请问在高等数学的无穷级数题目中:将函数展开成泰勒级数和将函数展开成幂级数是一个意思吗?请给出稍微详细点的解释,
请问在高等数学的无穷级数题目中:将函数展开成泰勒级数和将函数展开成幂级数是一个意思吗?请给出稍微详细点的解释,
形如∑a*(x-x0)^n的无穷级数称为幂级数,n从几开始无所谓,但一定是到∞,否则应该叫多项式; 幂级数中的系数a如果是:a=f^(x0)/n!,这个幂级数就称为函数f(x)在x0处的泰勒级数; 任何一个函数的泰勒级数都是幂级数,但幂级数并不一定是某个函数的泰勒级数; f(x)在x0处的泰勒级数取前面有限多项,称为f(x)在x0处的泰勒公式,如果取到a*(x-x0)^n这项为止,就称为f(x)在x0处的n阶泰勒公式; f(x)在x0处的泰勒级数与f(x)在x0处的泰勒公式的差,称为f(x)在x0处的泰勒公式的余项,泰勒中值定理把这个余项表达成一个有限的式子,即拉格朗日型的余项.综上所言 幂级数和泰勒级数没有本质的区别!要求具有任意阶导数 而泰勒公式则只要求有n+1阶导数就可以展开成n阶泰勒公式当余项极限为0时可以展开成级数无穷级数:为什么函数必须在指定区间才能展成幂级数?那区间之外的呢?如:1/(1-x) 这个在(-1,1)可以展成一个无穷级数,那这个范围外面呢?就没有办法用无穷级数来表示了吗?_百度作业帮
无穷级数:为什么函数必须在指定区间才能展成幂级数?那区间之外的呢?如:1/(1-x) 这个在(-1,1)可以展成一个无穷级数,那这个范围外面呢?就没有办法用无穷级数来表示了吗?
无穷级数:为什么函数必须在指定区间才能展成幂级数?那区间之外的呢?如:1/(1-x) 这个在(-1,1)可以展成一个无穷级数,那这个范围外面呢?就没有办法用无穷级数来表示了吗?
在0点展开,1/(1-x)
= 1+x+x^2+x^3+...+x^n+...级数的收敛半径an/an+1 = 1可以在(-1,1)展开成上面的级数.在这范围以外,上面级数是发散的,但如果不在x=0展开,如在x=-2,收敛半径就是 - 2到1的距离,即3,可以在(-5,1)展开成另一个级数,1/5[ 1 + (x+4)/5
(x+4)^2/5^2
(x+4)^n/5^n
]主要是看你在哪个点展开,不过多数在x=0学了复变函数的洛朗级数,你对级数的理解估计会更深
为什么要选择在0处展开呢?按理说每个函数都是在一个区间上存在的。
在哪里展开要看你需要研究的区域,比如这个函数的奇点是x=1,收敛半径是展开点到 x=1 的距离,选择在何处展开时,你要保证你关心的区域全部在收敛区域内。当然,x=0是最简单的,如果在0点已经满足了需要,那就没必要展开成一个比较复杂的级数了
我就想是不是每个函数都可以写成多项式相加的无穷级数这个问题,但是发现有些函数只能在一些区间里面写成无穷级数,那假如想在函数的整个定义域上都写成无穷级数,那应该怎么操作呢?然后就看到了在某个点上展开,我觉得函数在整个定义域上要是都能写成无穷级数,那要在某个点上展开干什么呢?麻烦您了。
并不是所有函数都能在整个定义域内展开成幂级数的,有些函数在实轴上有奇点,就会有一个收敛半径。如y=e^x,在R上有定义,他的收敛半径是R,在整个实轴上可以写成无穷级数。但1/(1-x),他在x=1无定义,是奇点,有收敛半径,只有在展开点为中心,到展开点距离小于收敛半径的点才呢用无穷级数表示。
如果有多个奇点,收敛半径是展开点到最近奇点的距离
太谢谢您了,那如果我遇到一个函数,我把他的奇点挑出来,那么我就能用幂级数来表示其余的间断的函数了?就是我可以一个分段的无穷级数来完整刻画这个函数?
不是。比如 1/(1-x) ,你在x=无穷就不能展成幂级数。因为你的展开点到x=1的距离总是有限的。总有一个收敛半径。
但学了复变函数的洛朗级数你会知道,如果展式中包含x的负无穷次幂到正无穷次幂,则 x=正负无穷 也是可以用级数表示的。但好像不是叫泰勒级数了,泰勒级数只是包含x的0次幂到正无穷次幂。至于洛朗级数是不是幂级数,忘了。
假如不考虑正负无穷这两个极端的例子,就是在坐标轴上,能不能用分段幂级数来刻画函数呢?从奇点出断开。变复函数还没接触过呢。。您能不能加下我QQ:?谢谢啦?
这个要考虑收敛与发散的定义,比如你的这个题,在(-1,1)外面发散,所以不能展开为级数
如果展成x^n形式的级数,那么他只能在(-1,1)范围内收敛,在这个范围外面发散。而如果你不用x^n,而采用另一组正交函数展开,收敛半径会有所不同。但是您看例子中的函数,两边是对称的,为什么对面的不能展成无穷级数?或者能不能加上绝对值什么的,再用无穷级数表示?也就是一个函数能不能用不同的无穷级数组合起来表示?或者说所有函数都是一个和式?“为什么对面的不能展成无穷级数?”,对面指什么?
“为什么对面的不能展成无穷级数?”,对面指什么?
哦,你是说为什么双曲线中只有一支能被表示么?
就是指这个函数的另一支。这个函数不是关于-1对称的吗?但是只有右半支的一部分收敛。那左半支呢?
函数关于(1,0)点对称,现在表示的是左半支。如果想表示右半支的对称部分,用级数
西格玛(x-2)^n表示,这个级数收敛半径是(1,3)
也就是说通过调整级数,可以把一个特定的函数完全用无穷级数表示出来?
每个级数都有自己的收敛半径,只要收敛半径是无穷,就可以表示出来。
那函数在某个点展开是什么意思?
通常指泰勒级数,f(x)在x0点展开就是f(x)=f(x0)+f'(x0)*(x-x0)+1/2!*f''(x0)*(x-x0)^2+……
在某个点展开的意义是什么?是那个点的函数值不好算?所以要用展开之后用多项式来算?
基本上是,有时候一个函数难以分析,我们就用他的泰勒展开,展开到比如2,3项,来近似原来不好处理的函数。

我要回帖

更多关于 多元函数泰勒级数展开 的文章

 

随机推荐