freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

非線性方程組的數(shù)值算法研究畢業(yè)論文(編輯修改稿)

2025-06-25 14:29 本頁面
 

【文章內(nèi)容簡介】 們記作為 ? ?1kx? ,就可以得到: ? ? ? ? ? ?? ? ? ?? ?1 139。k k k kxx x F x F x? ??? ( k=0,1,2, .....)。 ( 5) 這就是我們所說的求解非線性方程組( 2)的牛頓法。 下面我們來簡單介紹非線性方程組求解牛頓法的算法: 從 上 面的 實例 我們 可 以看 得出 牛頓 法求 解非 線 性方 程的 主要 理論 是 用 8 ? ? ? ? ? ?? ? ? ?? ?11 39。k k k kx x F x F x?? ?? 在( k=0,1,2, ...)的基礎(chǔ)上進行迭代計算。我們這時所要做的就是計算出 F( x)的雅克比矩陣 ??39。Fx,通過 ??39。Fx得到它的逆 ? ?139。Fx? ,直到達(dá)到所需要的精度 ? ?_xk的范圍內(nèi)才停止迭代。 牛頓法的算法 牛頓法算法如下: 1.首先我們把所要求解的非線性方程組定義為 ??Fx,并為之確定精度 ? ?_xk。 2.把 ??Fx轉(zhuǎn)化為雅克比矩陣,得到 ??39。Fx。求解方法如下: ? ? ? ? ? ?111 , . . . , _ , . . . , , . . . , , . . . , . . . , , . . . , _i j n i j ni j njf x x x x f x x xf x x xxx????? 3.重復(fù)第二步方法,求解 ??39。Fx雅克比矩陣的逆 ? ?139。Fx? 。另外把 ??39。Fx乘以單位矩陣1001??????,我們可以用單位矩陣轉(zhuǎn)換求解 ??39。Fx的逆用來保存。 4. ??39。Fx與 ??39。Fx的相乘 5.再用 ? ? ? ? ? ?? ? ? ?? ?1 139。k k k kxx x F x F x? ??? ( k=0,1,2, .....)來迭代。 ,其精度 __ix k x k? 時,我們需要重復(fù) 2— 5 次,一直使精度達(dá)到最小(精度 _xk? )時停止迭代,最后的迭代結(jié)果為 _ixk。 ? ? ? ?? ? ? ? ? ?? ?221111_ , . . . ,i i i ii n nx k x x x x??? ? ? 牛頓法代碼程序編程 最后我們介紹代碼的編程: include include include include define f0(x1,x2) (x1+2*x23) 9 define f1(x1,x2) (2*x1*x1+x2*x25) define x_ define matrixNum 2 double *matrixF2(double *x)。 int y=0。 void main() { int i,j,n。 double p,*x。 double *b。 double *matrixF。 //矩陣 F double *matrixF_。 //矩陣 F 的雅可比矩陣的逆 b=(double *)malloc(matrixNum)。 matrixF=(double *)malloc(matrixNum)。 matrixF_=(double *)malloc(matrixNum*matrixNum)。 cout請輸入初值 :。 for(i=0。imatrixNum。i++) cin*(x+i)。 do { p=。 for(i=0。imatrixNum。i++) *(b+i)=0。 *matrixF=f0(*x,*(x+1))。 *(matrixF+1)=f1(*x,*(x+1))。 matrixF_=matrixF2(x)。 for(i=0。imatrixNum。i++) { for(j=0。jmatrixNum。j++) *(b+i)+=*(matrixF_+i*matrixNum+j)*(*(matrixF+j))。 *(x+i)=*(x+i)*(b+i)。 cout*(x+i) 。 } coutendl。 for(i=0。imatrixNum。i++) p+=pow(*(b+i),2)。 y++。 }while(sqrt(p)x_)。 cout停 止迭代,最終迭代結(jié)果為 *x39。,39。*(x+1)endl。 delete [] matrixF。 delete [] matrixF_。 getch()。 } double *matrixF2(double *x) 10 { int i,j。 double t。 double *matrixF1。 //矩陣 F 的雅可比矩陣 double *matrixF2。 //矩陣 F 的雅可比矩陣的逆 matrixF1=(double *)malloc(matrixNum*matrixNum)。 matrixF2=(double *)malloc(matrixNum*matrixNum)。 for(i=0。imatrixNum。i++) for(j=0。jmatrixNum。j++) if(i==j) *(matrixF2+i*matrixNum+j)=1。 else *(matrixF2+i*matrixNum+j)=0。 *matrixF1=(f0((*x+x_),*(x+1))f0(*x,*(x+1)))/x_。 *(matrixF1+1)=(f0(*x,(*(x+1)+x_))f0(*x,*(x+1)))/x_。 *(matrixF1+2)=(f1((*x+x_),*(x+1))f1(*x,*(x+1)))/x_。 *(matrixF1+3)=(f1(*x,(*(x+1)+x_))f1(*x,*(x+1)))/x_。 //for(i=0。imatrixNum。i++) // cout*(x+i)endl。 cout矩陣 F 在 [*x39。,39。*(x+1)]的雅可比矩陣 endl。 for(i=0。imatrixNum。i++) { for(j=0。jmatrixNum。j++) cout*(matrixF1+i*matrixNum+j) 。 coutendl。 } //求矩陣 F 的雅可比矩陣的逆 t=*matrixF1。 for(i=0,j=0。jmatrixNum。j++) { *(matrixF1+i*matrixNum+j)/=t。 *(matrixF2+i*matrixNum+j)/=t。 } t=*(matrixF1+1*matrixNum)。 for(i=1,j=0。jmatrixNum。j++) { *(matrixF1+i*matrixNum+j)=*(matrixF1+j)*t。 *(matrixF2+i*matrixNum+j)=*(matrixF2+j)*t。 } t=*(matrixF1+1*matr
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1