Thông tin tài liệu
vi Xi={si,pi} T và Xi+1={si+1,pi+1} T ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = )p,s(g )p,s( f )X(F ii ii i ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = p g s g p f s f )X(J i Quanh:J(Xi)∆X=F(Xi)vi∆X={si+1 si,pi+1pi} T tngngvimth phngtrìnhtuyntínhhains∆s=si+1sivà∆p=pi+1pi: ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ −=∆ ∂ ∂ +∆ ∂ ∂ −=∆ ∂ ∂ +∆ ∂ ∂ )p,s(gp p g s s g )p,s(fp p f s s f ii ii TheocôngthcCramertacó: δ ∂ ∂ + ∂ ∂ − =∆ p f g p g f s δ ∂ ∂ + ∂ ∂ − =∆ s g f s f g p s g p f p g s f ∂ ∂ ∂ ∂ − ∂ ∂ ∂ ∂ =δ Đdùngđccôngthcnàytacntínhđccácđohàm s f ∂ ∂ , p f ∂ ∂ , s g ∂ ∂ , p g ∂ ∂ . Cácđohàmnàyđctínhtheocôngthctruyhi. Dob o=aonên 0 s b 0 = ∂ ∂ 0 p b 0 = ∂ ∂ b1=a1+sbonên 0 1 b s b = ∂ ∂ 0 p b 1 = ∂ ∂ b2=a2+sb1pbonên s )pb( s )sb( s a s b 0 122 ∂ ∂ − ∂ ∂ + ∂ ∂ = ∂ ∂ Mtkhác: 0 s a 2 = ∂ ∂ 1 11 b s ) b ( s s )sb( + ∂ ∂ = ∂ ∂ 0 s )pb( 0 = ∂ ∂ nên: 01 2 sbb s b += ∂ ∂ b3=a3+sb2pb1nên: 35 s b p s b sb s b 12 2 3 ∂ ∂ − ∂ ∂ += ∂ ∂ Nuchúngtađt: 1k k c s b − = ∂ ∂ thì: c o=bo(2) c1=b1+sbo=b1+sco c2=b2+sc1pco ck=bk+sck1pck2 cn1=bn1+scn2pcn3 Nhvycáchscũngđctínhtheocáchnhcáchsbk.Cuicùngvi f=bn1vàg=bntađc: 2n1n3n2n c s f c s f c s f c s f −−−− = ∂ ∂ = ∂ ∂ = ∂ ∂ = ∂ ∂ 2 2n3n1n 3nn2n1n ccc c b c b s −−− −−− − − =∆ (3) 2 2n3n1n 2nn1n1n ccc c b c b p −−− −−− − − =∆ (4) SaukhiphântíchxongPn(x)tatiptcphântíchPn2(x)theophng pháptrên.Cácbctínhtoángm: Chncácgiátrbanđubtkìs0vàp0 Tínhcácgiátrbo, ,bntheo(1) Tínhcácgiátrco, ,cntheo(2) Tính∆sovà∆potheo(3)và(4) Tínhs1=s0+∆sovàp1=po+∆po Lplibc1chođnkhipi+1=pi=pvàsi+1=si=s Giiphngtrìnhx2sx+pđtìm2nghimcađathc BtđuquátrìnhtrênchođathcPn2(x) Víd:TìmnghimcađathcP4(x)=x 4 1.1x 3 +2.3x 2 +0.5x 2 +3.3. Vilnlpbanđutachns=1vàp=1,nghĩalàtamthccódng:x 2 +x+1 a0 a1 a2 a3 a4 1 1.1 2.3 0.5 3.3 36 sbi1 2.1 3.4 0.8 pbi11 2.1 3.4 bi 1 2.1 3.4 0.8=bn1 0.7=bn sbi1.0 3.1 5.5 pbi11.0 3.1 ci 1 3.1 5.5 3.2 11.0 5.52.3 1.35.5 5.57.0 1.38.0 s = − − − − =∆ 06.0 5.52.3 1.35.5 7.02.3 8.05.5 p = − − − =∆ s * =1+0.11=0.89 p * =1+0.06=1.06 Tiptclpln2vis1=s * vàp1=p * tacó: a0 a1 a2 a3 a4 1 1.1 2.3 0.5 3.3 sbi0.89 1.77 2.68 0.06 pbi11.06 2.11 3.17 bi 1 1.99 3.01 0.07=bn1 0.17=bn sbi0.89 2.56 4.01 pbi11.0 3.1 ci 1 2.88 4.51 1.03 01.0 51.403.1 88.251.4 5.57.0 88.207.0 s −= − − − − =∆ 04.0 51.403.1 88.251.4 17.003.1 07.051.4 p = − − −− =∆ s * =0.890.01=0.9 p * =1.06+0.04=1.1 37 Nhvy: P4(x)=(x 2 +0.9x+1.1)(x 2 + 2x+3) Chngtrìnhsauápdnglíthuytvanêuđtìmnghimcađathc. Chngtrình210 //phuongphapBairstow #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #definem10 voidmain() { floata[m],b[m],c[m]; inti,n,v; floats,e1,t,p,q,r,p1,q1; clrscr(); printf(Chobaccuadathucn=); scanf(%d,&n); printf(Chocachesocuadathuccantim nghiem\n); for(i=n;i>=0;i) { printf(a[%d]=,ni); scanf(%f,&a[i]); } printf(\n); e1=0.0001; if(n<=2) if(n==1) { printf(Nghiemcuahe\n); printf(%.8f,(a[0]/(a[1]))); getch(); exit(1); } do { 38 v=0; p=1; q=1; b[n]=a[n]; c[n]=a[n]; do { b[n1]=b[n]*p+a[n1]; c[n1]=b[n1]+b[n]*p; for(i=n2;i>=0;i) { b[i]=b[i+2]*q+b[i+1]*p+a[i]; c[i]=c[i+2]*q+c[i+1]*p+b[i]; } r=c[2]*c[2]c[1]*c[3]; p1=p(b[1]*c[2]b[0]*c[3])/r; q1=q(b[0]*c[2]b[1]*c[1])/r; if((fabs(b[0])<e1)&&(fabs(b[1])<e1)) gotott; v=v+1; p=p1; q=q1; } while (v<=40); if(v>40) { printf(Khonghoitusau40lanlap); getch(); exit(1); } tt:s=p1/2; t=p1*p1+4*q1; if(t<0) { printf(Nghiemphuc\n); printf(%.8f+%.8fj\n,s,(sqrt(t)/2)); printf(%.8f%.8fj\n,s,(sqrt(t)/2)); printf(\n); } else 39 { printf(Nghiemthuc\n); printf(%.8f\n,(s+sqrt(t)/2)); printf(%.8f\n,(ssqrt(t)/2)); printf(\n); } for(i=2;i<=n;i++) a[i2]=b[i]; n=n2; } while((n>2)&(r!=0.0)); s=a[1]/(2*a[2]); t=a[1]*a[1]4*a[2]*a[0]; if(t<0) { printf(Nghiemphuc\n); printf(%.8f+%.8fj\n,s,(sqrt(t)/(2*a[2]))); printf(%.8f %.8fj\n,s,(sqrt(t)/(2*a[2]))); printf(\n); } else { printf(Nghiemthuc\n); printf(%.8f\n,(ssqrt(t)/(2*a[2]))); printf(%.8f\n,(ssqrt(t)/(2*a[2]))); printf(\n); } getch(); } Dùngchngtrìnhtrênđxácđnhnghimcađathc: x 6 2x 5 4x 4 +13x 3 24x 2 +18x4=0 tanhnđccácnghim: x1=2.61903399 x2=2.73205081 x3=0.732050755 x4=0.381966055 x5=0.500011056+i*1.3228881 x6=0.500011056i*1.3228881 40 §11.HPHNGTRÌNHPHITUYN PhngphápNewtoncóthđctngquáthoáđgiihphng trìnhphituyndng: ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎨ ⎧ = ⋅⋅⋅⋅⋅ = = = 0)x, ,x,x,x(f 0)x, ,x,x,x(f 0)x, ,x,x,x(f 0)x, ,x,x,x( f n321n n3213 n3212 n3211 hayvitgnhndidng: F(X)=0 Trongđó: X=(x 1,x2,x3, ,xn) Vimtphngtrìnhmtbin,côngthcNewtonlà: )x(f )x( f xx i i i1i ′ −= + hay: f(xi).∆x=f(xi) vi ∆x=xi+1xi Đivih,côngthclplà: J(Xi)∆x=F(Xi) TrongđóJ(Xi)làtoántJacobi.Nólàmtmatrnbcn(ntngngvi sthànhphntrongvectX)códng: ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ = n n 3 n 2 n 1 n n 2 3 2 2 2 1 2 n 1 3 1 2 1 1 1 i x f x f x f x f x f x f x f x f x f x f x f x f )X(J và∆X=Xi+1Xi PhngphápNewtontuyntínhhoáhvànhvyvimibclp cngiimthphngtrìnhtuyntính(màbinlà∆xi)xácđnhbicông thclpchotikhivectX(x1,x2,x3, ,xn)gnvinghim. Diđâylàchngtrìnhgiihphngtrìnhphituyn ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ =+− =++− =−+++ =−−− 08xxxx2 04x8x25 05xxxx 08xxx3xx 4321 3 2 1 4321 421 2 2 3 1 41 MatrnđohàmriêngJ(Xi)là: ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ − − − −−−− 1xx2xx2xx2 080 x25 x 1111 xx30xx3x3xx3x3 213132 2 1 1 2141 2 242 2 1 Matrnnàyđcchngtrìnhđcvàonhthtcdoc.Trongthtc này,cáchsa[i,5]làcáchàmfi(x).Vectnghimbanđuđcchnlà{0, 1,1,1} T .Kt qu tính cho ta : x = {0.01328676,1.94647929, 1.12499779,8.05819031 } T viđchính xác 0.000001.Vect s d r = { 0.00000536,0.00000011,0.00000001,0.00000006} T . Chngtrình211 //giaiheptphituyen #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #definen4 floata[n+1][n+2]; floatx[n+1],y[n+1]; inti,j,k,l,z,r; floate,s,t; voidmain() { voiddoc(); clrscr(); printf(Chocacgiatringhiembandau\n); for(i=1;i<=n;i++) { printf(x[%d]=,i); scanf(%f,&x[i]); } e=1e6; z=30; for(r=1;r<=z;r++) 42 { doc(); for(k=1;k<=n1;k++) { s=0; for(i=k;i<=n;i++) { t=fabs(a[i][k]); if(s<=t) { s=t; l=i; } } for(j=k;j<=n+1;j++) { s=a[k][j]; a[k][j]=a[l][j]; a[l][j]=s; } if(a[1][1]==0) { printf(Cac phan tu duong cheo cua ma tran bang khong); getch(); exit(1); } else { if(fabs(a[k][k]/a[1][1])<(1e08)) { printf(Matransuybien); gotomot; } } for(i=k+1;i<=n;i++) { if(a[k][k]==0) { 43 printf(Cac phan tu duong cheo cua ma tran bangkhong\n); gotomot; } s=a[i][k]/a[k][k]; a[i][k]=0; for(j=k+1;j<=n+1;j++) a[i][j]=a[i][j]s*a[k][j]; } y[n]=a[n][n+1]/a[n][n]; for(i=n1;i>=1;i) { s=a[i][n+1]; for(j=i+1;j<=n;j++) s=sa[i][j]*y[j]; if(a[i][i]==0) { printf(Cac phan tu duong cheo cua ma tran bangkhong\n); gotomot; } y[i]=s/a[i][i]; } } if(r!=1) for(i=1;i<=n;i++) { if(fabs(y[i])<e*fabs(x[i])) gotoba; } for(i=1;i<=n;i++) x[i]=x[i]y[i]; printf(\n); } printf(Khonghoitusau%dlanlap\n,z); gotomot; clrscr(); ba:printf(Vectonghiem\n); for(i=1;i<=n;i++) printf(%.5f\n,(x[i]y[i])); 44 . SaukhiphântíchxongPn(x)tatiptcphântíchPn2(x)theophng pháp trên.Cácbc tính toángm: Chncácgiátrbanđubtkìs0vàp0 Tính cácgiátrbo, ,bntheo(1) Tính cácgiátrco, ,cntheo(2) Tính ∆sovà∆potheo(3)và(4) Tính s1=s0+∆sovàp1=po+∆po Lplibc1chođnkhipi+1=pi=pvàsi+1=si=s Giiphng trình x2sx+pđtìm2nghimcađathc Btđuquá trình trênchođathcPn2(x) Víd:TìmnghimcađathcP4(x)=x 4 1.1x 3 +2.3x 2 +0.5x 2 +3.3. Vilnlpbanđutachns=1vàp=1,nghĩalàtamthccódng:x 2 +x+1 a0. ∆x=xi+1xi Đivih,côngthclplà: J(Xi)∆x=F(Xi) TrongđóJ(Xi)làtoántJacobi.Nólàmtmatrnbcn(ntngngvi sthànhphntrongvectX)códng: ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ = n n 3 n 2 n 1 n n 2 3 2 2 2 1 2 n 1 3 1 2 1 1 1 i x f x f x f x f x f x f x f x f x f x f x f x f )X(J và∆X=Xi+1Xi Phng pháp Newtontuyn tính hoáhvànhvyvimibclp cngiimthphng trình tuyn tính (màbinlà∆xi)xácđnhbicông thclpchotikhivectX(x1,x2,x3,. x6=0.500011056i*1.3228881 40 §11.HPHNGTRÌNHPHITUYN Phng pháp Newtoncóthđctngquáthoáđgiihphng trình phituyndng: ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎨ ⎧ = ⋅⋅⋅⋅⋅ = = = 0)x,
Ngày đăng: 17/06/2015, 13:59
Xem thêm: Giáo Trình Phương Pháp Tính (chương 2b)