matlab第二章上機作業
Aitken加速數值實驗
實驗1:
(1)用不動點迭代法求fx=x3-x-1=0的根。至少設計兩種迭代格式,一個收斂一個發散,ε=10-12。
(2)對迭代格式採用Aitken加速觀察斂散性變化。
實驗2:
- fx=3x2-ex=0,分析其有根區間。
- x=φx=lnx2+ln3,取x0=3.5,1,-0.5進行計算,對比直接計算與Aitken加速的結果。
- 設計更多的x=φx,採用更多的初值,重複(2)的操作。
通過以上兩個實驗,你對Aitken加速有了什麼樣的認識?
解實驗1:
(1)
由圖可知,fx=x3-x-1=0在(1,2)有唯一解。而f'x=3x2-1,當x<-1時,f
迭代格式1:xk+1=xk3-1
程式如下:
結果如下:
迭代格式1發散。
迭代格式2:xk+1=3xk+1
結果如下:
迭代34次達到要求誤差,收斂於1.32472
(2)
對迭代格式1:xk+1=xk3-1使用Aitken加速
結果如下:
對迭代格式2:xk+1=3xk+1使用Aitken加速
結果如下:
解實驗2:
(1)
如圖所示:fx=3x2-ex=0分別在(-1,0)、(0,2)和(3,4)之間存在唯一根。X<-1時,f
(2)
使用直接計算程式如下:
Atiken加速程式如下:
兩種計算結果對比如下:
初值為1.0,使用直接計演算法迭代50次達到計算精度,使用Aitken加速法迭代7次達到計算精度。
初值為3.5,使用直接計演算法迭代41次達到計算精度,使用Aitken加速法迭代5次達到計算精度。
初值為-1.0,使用直接計演算法迭代49次達到計算精度,使用Aitken加速法迭代4次達到計算精度。
(3)
取迭代格式為:
φx=-e
直接計演算法程式如下:
使用Aitken加速法程式如下:
兩種計算結果對比如下:
初值為1.0時,直接計演算法迭代32次x32=0.9100075724897779
Aitken加速法迭代3次x3=0.9100075724887089
初值為3.5時,直接計演算法迭代40次x40=0.9100075724900062
Aitken加速法迭代5次x5=3.7330790286328144
初值為-1.0時,直接計演算法迭代17次x17=-0.4589622675363961
Aitken加速法迭代3次x3=-0.4589622675369486
一、從實驗一可知,對於直接計收斂的迭代格式,運用Aitken加速法可以使其收斂,但不能起到加速法作用。
二、直接計演算法可能無法求得相應區間的根,Aitken可以求得相應區間的根。
三、和其他演算法相比,使用Aitken加速法,可以收斂的迭代格式迅速逼近準確解。