数值分析--非线性方程求根的数值解法问题

herbertsun 1年前 已收到1个回答 举报

牙医生 幼苗

共回答了20个问题采纳率:100% 举报


1年前 追问

10

herbertsun 举报

额 感谢您的悉心解答!只是这个题目是《数值分析》非线性方程求根的数值解法的内容 迭代法章节的 里面有一个收敛性定理 您这样写我看不明白 能否换一种方法呢?谢谢!

举报 牙医生

换一种解释,仍然记F(x)=√(2+x),则f(x)=x-F(x)
假设方程f(x)=0的根为x=s,即f(s)=s-F(s)=0
则s=F(s)  ①
迭代格式x_(n+1)=F(x_n) _表示下标  ②
由①②得到第n+1次迭代值x_(n+1)与精确值s之差为x_(n+1)-s= F(x_n)-F(s)
由拉格朗日中值定理,x_(n+1)-s=F’(ξ)*(x_n-s)
其中,ξ在x_n与s之间

由此,|x_(n+1)-s|/| x_n-s |= |F’(ξ)|
要保证{x_n}收敛,就必须使第n+1次迭代值的误差绝对值|x_(n+1)-s|比第n次迭代值的误差绝对值| x_n-s |小
因此,只要|F’(ξ)|<1就行
也就是证明方程f(x)=0的等价形式x=F(x)在根所在区间上满足|F’(x)|<1即可

回到本题
显然,f(x)在[0,7]上连续,且f(0)=-√2<0,f(7)=4>0
由连续函数介值定理,方程f(x)=0在[0,7]上有实根
在[0,7]上,F’(x)=1/[2*√(2+x)]≤1/(2*√2)<1
证毕

以上证明可以简化为对三个条件的证明:
(1)f(x)在[a,b]上连续;
(2)f(x)在[a,b]的两个端点上的函数值异号,即f(a)*f(b)<0;
(3)方程f(x)=0的等价形式x=F(x)在[a,b]上满足|F’(x)|<1

则在[a,b]上任取一个初值x_0,用迭代格式x_(n+1)=F(x_n)计算得到的近似值序列x_0,x_1= F(x_0) ,x_2= F(x_1),...收敛,且收敛于方程f(x)=0的根.

herbertsun 举报

谢谢你!

举报 牙医生

我估计你是纠结于你所给出的定理中的条件(1)为何与我写的不同.
其实并不矛盾,你给出的条件(1)与我写的
(1)f(x)在[a,b]上连续;
(2)f(x)在[a,b]的两个端点上的函数值异号,即f(a)*f(b)<0
都起到同一个作用:证明根的存在性

定理条件(1)可以这样解释:由a≤x≤b以及a≤φ(x)≤b,得到
f(b)=b-φ(b)≥0
f(a)=a-φ(a)≤0
以上两式若有一个取到等号说明端点即为所求的实根;
若两个都取不到等号,由介值定理,存在至少实根.
而对于根的唯一性则可通过条件(2)证明.

事实上对于根所在区间的选取并没有唯一的标准,在做具体数值计算时(编写迭代程序)首先保证在某区间上根是存在的,其次,|F’(x)|<1即可(这一块的学习建议多联系几何意义).
定理条件(1)将φ(x)限定在[a,b]只是提供了根存在的一个充分条件,但不是必要条件.并且找出这样的[a,b]比较费事,简单方法就是寻找满足介值定理条的区间.
本题中,选取区间[0,2]可以,[0,3],[0,7],...也都可以.即在[0,A](A≥2)上任取一点x0作为初值进行迭代都是可行的.

herbertsun 举报

好强大 您是大学老师吗?
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.050 s. - webmaster@yulucn.com