" />
迭代算法是一款教學(xué)輔助軟件,數(shù)值分析之迭代算法演示程序,教學(xué)科研使用。體積小,但功能強(qiáng)大。界面非常清爽,簡單易操作。
函數(shù)
在數(shù)學(xué)中,迭代函數(shù)是在碎形和動力系統(tǒng)中深入研究的對象。迭代函數(shù)是重復(fù)的與自身復(fù)合的函數(shù),這個過程叫做迭代。
模型
迭代模型是RUP(RationalUnifiedProcess,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型。
算法
迭代算法是用計算機(jī)解決問題的一種基本方法。它利用計算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計算機(jī)對一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值。
迭代算法是用計算機(jī)解決問題的一種基本方法。它利用計算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計算機(jī)對一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值。
迭代法是用于求方程或方程組近似根的一種常用的算法設(shè)計方法。設(shè)方程為f(x)=0,用某種數(shù)學(xué)方法導(dǎo)出等價的形式x=g(x),然后按以下步驟執(zhí)行:
⑴選一個方程的近似根,賦給變量x0;
⑵將x0的值保存于變量x1,然后計算g(x1),并將結(jié)果存于變量x0;
⑶當(dāng)x0與x1的差的絕對值還大于指定的精度要求時,重復(fù)步驟⑵的計算。
若方程有根,并且用上述方法計算出來的近似根序列收斂,則按上述方法求得的x0就認(rèn)為是方程的根。上述算法用C程序的形式表示為:
【算法】迭代法求方程的根
以下是引用片段:
{x0=初始近似根;
do{
x1=x0;
x0=g(x1);/*按特定的方程計算新的近似根*/
}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”);
}
具體使用迭代法求根時應(yīng)注意以下兩種可能發(fā)生的情況:
⑴如果方程無解,算法求出的近似根序列就不會收斂,迭代過程會變成死循環(huán),因此在使用迭代算法前應(yīng)先考察方程是否有解,并在程序中對迭代的次數(shù)給予限制;
⑵方程雖然有解,但迭代公式選擇不當(dāng),或迭代的初始近似根選擇不合理,也會導(dǎo)致迭代失敗。
①N為兔子的個數(shù),M為月份(N+N*1)^M-1=2N^M-1(注解)。