" />
迭代算法是一款教學(xué)輔助軟件,數(shù)值分析之迭代算法演示程序,教學(xué)科研使用。體積小,但功能強(qiáng)大。界面非常清爽,簡(jiǎn)單易操作。
函數(shù)
在數(shù)學(xué)中,迭代函數(shù)是在碎形和動(dòng)力系統(tǒng)中深入研究的對(duì)象。迭代函數(shù)是重復(fù)的與自身復(fù)合的函數(shù),這個(gè)過程叫做迭代。
模型
迭代模型是RUP(RationalUnifiedProcess,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型。
算法
迭代算法是用計(jì)算機(jī)解決問題的一種基本方法。它利用計(jì)算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計(jì)算機(jī)對(duì)一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時(shí),都從變量的原值推出它的一個(gè)新值。
迭代算法是用計(jì)算機(jī)解決問題的一種基本方法。它利用計(jì)算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計(jì)算機(jī)對(duì)一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時(shí),都從變量的原值推出它的一個(gè)新值。
迭代法是用于求方程或方程組近似根的一種常用的算法設(shè)計(jì)方法。設(shè)方程為f(x)=0,用某種數(shù)學(xué)方法導(dǎo)出等價(jià)的形式x=g(x),然后按以下步驟執(zhí)行:
⑴選一個(gè)方程的近似根,賦給變量x0;
⑵將x0的值保存于變量x1,然后計(jì)算g(x1),并將結(jié)果存于變量x0;
⑶當(dāng)x0與x1的差的絕對(duì)值還大于指定的精度要求時(shí),重復(fù)步驟⑵的計(jì)算。
若方程有根,并且用上述方法計(jì)算出來的近似根序列收斂,則按上述方法求得的x0就認(rèn)為是方程的根。上述算法用C程序的形式表示為:
【算法】迭代法求方程的根
以下是引用片段:
{x0=初始近似根;
do{
x1=x0;
x0=g(x1);/*按特定的方程計(jì)算新的近似根*/
}while(fabs(x0-x1)>Epsilon);
printf(“方程的近似根是%f\n”,x0);
}
迭代算法也常用于求方程組的根,令
X=(x0,x1,…,xn-1)
設(shè)方程組為:
xi=gi(X)(I=0,1,…,n-1)
則求方程組根的迭代算法可描述如下:
【算法】迭代法求方程組的根
以下是引用片段:
{for(i=0;i
x=初始近似根;
do{
for(i=0;i
y=x;
for(i=0;i
x=gi(X);
for(delta=0.0,i=0;i
if(fabs(y-x)>delta)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(注解)。