最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

不動(dòng)點(diǎn)迭代求一元函數(shù)f(x)的近似根 --北太天元學(xué)習(xí)11

2023-07-20 22:12 作者:盧朓  | 我要投稿

通過(guò)北太天元學(xué)習(xí)1-10, 我們已經(jīng)掌握了北太天元的很多編程知識(shí),在這一節(jié),
應(yīng)用前面學(xué)習(xí)的技巧,我們講求解形式為f(x)=0的方程,
另外學(xué)習(xí)匿名函數(shù)以及函數(shù)句柄的知識(shí)。

使得f(x) = 0成立的x稱為f(x)的零點(diǎn)或者函數(shù)f(x)的根。當(dāng)f是特殊的函數(shù)時(shí),
我們?cè)?jīng)學(xué)習(xí)了如何手工求解,例如 ax = b 這樣的一元一次方程, ax^2+bx+c=0
這樣的一元二次方程。 簡(jiǎn)單的函數(shù),我們手工通過(guò)有限步的初等運(yùn)算
就找到了解析解。然而,許多方程并不那么容易手工求解, 例如,
x^7+x?1=0,或sin(x^3+1)=2x. ?

此時(shí),我們可以退而求其次,想辦法找到這些函數(shù)的解的近似值, 稱為數(shù)值解或者
近似解。例如,我們可以通過(guò)繪制 f(x) 的圖像,然后觀察 f(x) 與 y = 0 直線的
交點(diǎn)大致在哪個(gè)區(qū)間之內(nèi)。 但是此時(shí)得到的數(shù)值解往往是非常粗糙的(或者說(shuō)誤差是
多么大),我們這一節(jié)學(xué)習(xí)如何編寫一個(gè)計(jì)算機(jī)程序來(lái)找到誤差更小的數(shù)值解。

不動(dòng)點(diǎn)迭代:

對(duì)于函數(shù) f(x), 如果 x 使得 f(x) = x 成立,那么稱 x 是函數(shù) f 的不動(dòng)點(diǎn)。
對(duì)于一些問(wèn)題,我們可以通過(guò)不動(dòng)點(diǎn)迭代來(lái)求解函數(shù)的根。
例: 求? x^3 -5x -2 = 0 ;

北太天元畫上面函數(shù)圖像的代碼
x = -1: 0.1: 1;
fh = @(t) t.^3 - 5*t -2;? % 這里定義了一個(gè)匿名函數(shù)
plot(x, fh(x), 'LineWidth', 5, 'Color', 'Red')

北太天元畫 f(x) = x^3 - 5x -2 , x =-1 ... 1


從圖中,我們可以觀察到在 -0.6, -0.2 之間有一個(gè)根,而且我們可以計(jì)算
fh(0.1)? 得 f在 -0.6 的函數(shù)值是 -0.78, 在 -0.2 處的函數(shù)值是 1.01

我們可以把上面的求 f(x) = x^3 - 5*x -2 轉(zhuǎn)成一個(gè)求某個(gè)函數(shù)的不動(dòng)點(diǎn)的問(wèn)題:
? x^3 -5x -2 = 0
? 5x = x^3 - 2
?? ?x = (x^3 - 2 )/5;
于是構(gòu)造不動(dòng)點(diǎn)迭代
? x_{n+1} = ( x_{n}^3- 2)/ 5;
可以取 x_{0} =? -0.6, 然后用上面的遞推關(guān)系式計(jì)算 x_{n}, n = 1, 2, 3, ...
如果數(shù)列 { x_{n} } 極限存在,\lim_{n\rightarrow \infty}x_{n} = xi
那么
?? xi = ( xi^3 - 2 ) /5,
xi 就是 g(x) = (x^3 - 2)/5 的不動(dòng)點(diǎn),也是 f(x) = x^3 - 5x-2 的一個(gè)根。

值得花一點(diǎn)時(shí)間來(lái)考慮如何得出最初的“猜測(cè)”。猜測(cè)初始值可能會(huì)導(dǎo)致不同的結(jié)果,
特別是如果方程 g(x) ?x=0有多個(gè)根。有時(shí)需要一點(diǎn)試錯(cuò)才能確定一個(gè)可行的初步猜測(cè)。
我們可能知道關(guān)于函數(shù)的一些東西,或者能夠使用數(shù)學(xué)理論來(lái)幫助縮小其中可能出現(xiàn)不動(dòng)點(diǎn)。

迭代的停機(jī)準(zhǔn)則(stopping critrion)的選擇也是很多選擇,我們可以選擇兩步迭代之間
的差小于某個(gè)給定的忍量(tolerance), 例如
| x_{n+1} - x_{n} | < 1e-4.

這里給出了一個(gè)求不動(dòng)點(diǎn)的基本北太天元腳本:

x= -0.6;%初始化x
gh = @(t) (t.^3 -2)/5; %用匿名函數(shù)給出函數(shù)定義
tol=1e-4;%設(shè)定忍量
n=1;%設(shè)置索引

x(n+1) = gh( x(n) );

while abs(x(n+1)-x(n))> 1e-4;%應(yīng)用不動(dòng)點(diǎn)迭代, 知道兩步迭代之間的更新小于給定忍量

?? ?n = n + 1; ;%更新索引
??? ?x(n+1) = gh( x(n) ); %應(yīng)用不動(dòng)點(diǎn)迭代, 得到下一個(gè)點(diǎn)
end
x(end) %輸出迭代的最后一個(gè)x點(diǎn)
%畫出迭代過(guò)程
hold on
plot(0:length(x)-1,x, 'r-', 'LineWidth', 3);
sh = scatter(0:length(x)-1, x, 'filled');
set(sh, 'SizeData', 500)
title(['不動(dòng)點(diǎn)迭代 x(end) = ', num2str(x(end))]);
hold off


不動(dòng)點(diǎn)迭代求一元函數(shù)f(x)的近似根 --北太天元學(xué)習(xí)11的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
太保市| 青浦区| 芒康县| 丹寨县| 额济纳旗| 漳州市| 繁峙县| 无锡市| 宽城| 永昌县| 澜沧| 房产| 女性| 五峰| 洛扎县| 修文县| 秦安县| 宁晋县| 买车| 嵩明县| 新宁县| 静乐县| 磐石市| 丰台区| 新龙县| 上饶市| 措美县| 华宁县| 安丘市| 汉源县| 昌乐县| 宁波市| 永兴县| 甘德县| 内黄县| 临沧市| 佳木斯市| 永城市| 墨竹工卡县| 泸定县| 木兰县|