捧起她娇臀猛烈冲刺h,久久亚洲精品无码网站,公与媳系列100小说,欧美大片18禁aaa片免费,国产成人无码a区视频,xxxx欧美丰满大屁股 free,韩国在线无码中文字幕,2021年精品国产福利在线,日本成年片黄网站色品善网

版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國(guó)]-迭代

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

相關(guān)概念函數(shù)

在數(shù)學(xué)中,迭代函數(shù)是在分形和動(dòng)力系統(tǒng)中深入研究的對(duì)象。迭代函數(shù)是重復(fù)的與自身復(fù)合的函數(shù),這個(gè)過程叫做迭代。

模型迭代模型是RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型。

算法迭代算法是用計(jì)算機(jī)解決問題的一種基本方法。它利用計(jì)算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計(jì)算機(jī)對(duì)一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時(shí),都從變量的原值推出它的一個(gè)新值。

RUP模型理解如果認(rèn)為這個(gè)解釋難以理解,可以這樣想:

我們開發(fā)一個(gè)產(chǎn)品,如果不太復(fù)雜,會(huì)采用瀑布模型,簡(jiǎn)單的說就是先定義需求,然后構(gòu)建框架,然后寫代碼,然后測(cè)試,最后發(fā)布一個(gè)產(chǎn)品。

這樣,幾個(gè)月過去了,直到最后一天發(fā)布時(shí),大家才能見到一個(gè)產(chǎn)品。

這樣的方式有明顯的缺點(diǎn),假如我們對(duì)用戶的需求判斷的不是很準(zhǔn)確時(shí)——這是很常見的問題,一點(diǎn)也不少見——你工作了幾個(gè)月甚至是幾年,當(dāng)你把產(chǎn)品拿給客戶看時(shí),客戶往往會(huì)大吃一驚,這就是我要的東西嗎?

方法迭代的方式就有所不同,假如這個(gè)產(chǎn)品要求6個(gè)月交貨,我在第一個(gè)月就會(huì)拿出一個(gè)產(chǎn)品來,當(dāng)然,這個(gè)產(chǎn)品會(huì)很不完善,會(huì)有很多功能還沒有添加進(jìn)去,bug很多,還不穩(wěn)定,但客戶看了以后,會(huì)提出更詳細(xì)的修改意見,這樣,你就知道自己距離客戶的需求有多遠(yuǎn),我回家以后,再花一個(gè)月,在上個(gè)月所作的需求分析、框架設(shè)計(jì)、代碼、測(cè)試等等的基礎(chǔ)上,進(jìn)一步改進(jìn),又拿出一個(gè)更完善的產(chǎn)品來,給客戶看,讓他們提意見。

就這樣,我的產(chǎn)品在功能上、質(zhì)量上都能夠逐漸逼近客戶的要求,不會(huì)出現(xiàn)我花了大量心血后,直到最后發(fā)布之時(shí)才發(fā)現(xiàn)根本不是客戶要的東西的情況。

優(yōu)勢(shì)這樣的方法很不錯(cuò),但他也有自己的缺陷,那就是周期長(zhǎng)、成本很高。在應(yīng)付大項(xiàng)目、高風(fēng)險(xiǎn)項(xiàng)目——就比如是航天飛機(jī)的控制系統(tǒng)時(shí),迭代的成本比項(xiàng)目失敗的風(fēng)險(xiǎn)成本低得多,用這種方式明顯有優(yōu)勢(shì)。

如果你是給自己的單位開發(fā)一個(gè)小MIS,自己也比較清楚需求,工期上也不過花上個(gè)把月的時(shí)間,用迭代就有點(diǎn)殺雞用了牛刀,那還是瀑布模型更管用,即使是做得不對(duì),頂多再花一個(gè)月重來,沒什么了不起。

基本算法有些國(guó)外的教材,如《C++ Primer》第四版的中文版,會(huì)把iterative翻譯成迭代。

在java中Iterative 僅用于遍歷集合,本身并不提供盛裝對(duì)象的能力。如果需要?jiǎng)?chuàng)建Iterative對(duì)象,則必須有一個(gè)被迭代的集合。沒有集合的Iterative仿佛無本之木,沒有存在的價(jià)值。

iterative是反復(fù)的意思,所以,有時(shí)候,迭代也會(huì)指循環(huán)執(zhí)行,反復(fù)執(zhí)行的意思。

利用迭代算法解決問題,需要做好以下三個(gè)方面的工作:

確定變量在可以用迭代算法解決的問題中,至少存在一個(gè)直接或間接地不斷由舊值遞推出新值的變量,這個(gè)變量就是迭代變量。

建立關(guān)系式所謂迭代關(guān)系式,指如何從變量的前一個(gè)值推出其下一個(gè)值的公式(或關(guān)系)。迭代關(guān)系式的建立是解決迭代問題的關(guān)鍵,通??梢允褂眠f推或倒推的方法來完成。

過程控制在什么時(shí)候結(jié)束迭代過程?這是編寫迭代程序必須考慮的問題。不能讓迭代過程無休止地重復(fù)執(zhí)行下去。迭代過程的控制通常可分為兩種情況:一種是所需的迭代次數(shù)是個(gè)確定的值,可以計(jì)算出來;另一種是所需的迭代次數(shù)無法確定。對(duì)于前一種情況,可以構(gòu)建一個(gè)固定次數(shù)的循環(huán)來實(shí)現(xiàn)對(duì)迭代過程的控制;對(duì)于后一種情況,需要進(jìn)一步分析出用來結(jié)束迭代過程的條件。1

例1 : Fibonacci Sequence(斐波那契數(shù)列)

即這樣一個(gè)數(shù)列:0、1、1、2、3、5、8、13......,在數(shù)學(xué)上該數(shù)列定義為:

F(0)=0,F(xiàn)(1)=1; F(n) = F(n-1)+F(n-2) (n≥2,n∈N*)。

一般該數(shù)列可以遞歸實(shí)現(xiàn),下面是用C語言 迭代 實(shí)現(xiàn):

int fab(int n)

{ if (ndelta) delta=fabs(y-x);

} while (delta>Epsilon);

for (i=0;i

printf(“變量x[%d]的近似根是 %f”,I,x);

printf(“\n”);

}

具體使用迭代法求根時(shí)應(yīng)注意以下兩種可能發(fā)生的情況:

⑴ 如果方程無解,算法求出的近似根序列就不會(huì)收斂,迭代過程會(huì)變成死循環(huán),因此在使用迭代算法前應(yīng)先考察方程是否有解,并在程序中對(duì)迭代的次數(shù)給予限制;

⑵ 方程雖然有解,但迭代公式選擇不當(dāng),或迭代的初始近似根選擇不合理,也會(huì)導(dǎo)致迭代失敗。

① N 為兔子的個(gè)數(shù), M為月份 (N+N*1)^M-1=2N^M-1 (注解)3