Giáo Trình Phương Pháp Tính (chương 2b)

11 244 0
Giáo Trình Phương Pháp Tính (chương 2b)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

vi 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   Quanh:J(Xi)∆X=F(Xi)vi∆X={si+1 si,pi+1pi} T tngngvimth phngtrìnhtuyntínhhains∆s=si+1sivà∆p=pi+1pi:  ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ −=∆ ∂ ∂ +∆ ∂ ∂ −=∆ ∂ ∂ +∆ ∂ ∂ )p,s(gp p g s s g )p,s(fp p f s s f ii ii   TheocôngthcCramertacó:  δ ∂ ∂ + ∂ ∂ − =∆ p f g p g f s   δ ∂ ∂ + ∂ ∂ − =∆ s g f s f g p   s g p f p g s f ∂ ∂ ∂ ∂ − ∂ ∂ ∂ ∂ =δ  Đdùngđccôngthcnàytacntínhđccácđohàm s f ∂ ∂ , p f ∂ ∂ , s g ∂ ∂ , p g ∂ ∂ . Cácđohàmnàyđctínhtheocôngthctruyhi. Dob o=aonên  0 s b 0 = ∂ ∂  0 p b 0 = ∂ ∂   b1=a1+sbonên 0 1 b s b = ∂ ∂  0 p b 1 = ∂ ∂  b2=a2+sb1pbonên   s )pb( s )sb( s a s b 0 122 ∂ ∂ − ∂ ∂ + ∂ ∂ = ∂ ∂  Mtkhá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+sb2pb1nên: 35 s b p s b sb s b 12 2 3 ∂ ∂ − ∂ ∂ += ∂ ∂  Nuchúngtađt:  1k k c s b − = ∂ ∂  thì: c o=bo(2)  c1=b1+sbo=b1+sco  c2=b2+sc1pco    ck=bk+sck1pck2  cn1=bn1+scn2pcn3  Nhvycáchscũngđctínhtheocáchnhcáchsbk.Cuicùngvi f=bn1vàg=bntađ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)   SaukhiphântíchxongPn(x)tatiptcphântíchPn2(x)theophng pháptrên.Cácbctínhtoángm: Chncácgiátrbanđubtkìs0vàp0 Tínhcácgiátrbo, ,bntheo(1) Tínhcácgiátrco, ,cntheo(2) Tính∆sovà∆potheo(3)và(4) Tínhs1=s0+∆sovàp1=po+∆po Lplibc1chođnkhipi+1=pi=pvàsi+1=si=s Giiphngtrìnhx2sx+pđtìm2nghimcađathc BtđuquátrìnhtrênchođathcPn2(x)  Víd:TìmnghimcađathcP4(x)=x 4 1.1x 3 +2.3x 2 +0.5x 2 +3.3. Vilnlpbanđutachns=1vàp=1,nghĩalàtamthccódng:x 2 +x+1  a0 a1 a2 a3 a4 1 1.1 2.3 0.5 3.3 36 sbi1 2.1 3.4 0.8 pbi11 2.1 3.4 bi 1 2.1 3.4 0.8=bn1 0.7=bn sbi1.0 3.1 5.5  pbi11.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 Tiptclpln2vis1=s * vàp1=p * tacó: a0 a1 a2 a3 a4 1 1.1 2.3 0.5 3.3 sbi0.89 1.77 2.68 0.06 pbi11.06 2.11 3.17 bi 1 1.99 3.01 0.07=bn1 0.17=bn sbi0.89 2.56 4.01 pbi11.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.890.01=0.9 p * =1.06+0.04=1.1 37 Nhvy:  P4(x)=(x 2 +0.9x+1.1)(x 2 +  2x+3) Chngtrìnhsauápdnglíthuytvanêuđtìmnghimcađathc.  Chngtrình210  //phuongphapBairstow #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #definem10  voidmain() {  floata[m],b[m],c[m];  inti,n,v;  floats,e1,t,p,q,r,p1,q1;   clrscr();  printf(Chobaccuadathucn=);  scanf(%d,&n);  printf(Chocachesocuadathuccantim nghiem\n);  for(i=n;i>=0;i) { printf(a[%d]=,ni); scanf(%f,&a[i]); }  printf(\n);  e1=0.0001;  if(n<=2) if(n==1) { printf(Nghiemcuahe\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[n1]=b[n]*p+a[n1]; c[n1]=b[n1]+b[n]*p; for(i=n2;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)) gotott; v=v+1; p=p1; q=q1; } while (v<=40); if(v>40) { printf(Khonghoitusau40lanlap); getch(); exit(1); } tt:s=p1/2; t=p1*p1+4*q1; if(t<0) { printf(Nghiemphuc\n); printf(%.8f+%.8fj\n,s,(sqrt(t)/2)); printf(%.8f%.8fj\n,s,(sqrt(t)/2)); printf(\n); } else 39 { printf(Nghiemthuc\n); printf(%.8f\n,(s+sqrt(t)/2)); printf(%.8f\n,(ssqrt(t)/2)); printf(\n); } for(i=2;i<=n;i++) a[i2]=b[i]; n=n2; }  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(Nghiemphuc\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(Nghiemthuc\n); printf(%.8f\n,(ssqrt(t)/(2*a[2]))); printf(%.8f\n,(ssqrt(t)/(2*a[2]))); printf(\n); }  getch(); }   Dùngchngtrìnhtrênđxácđnhnghimcađathc:  x 6 2x 5 4x 4 +13x 3 24x 2 +18x4=0 tanhnđccácnghim:  x1=2.61903399  x2=2.73205081  x3=0.732050755  x4=0.381966055  x5=0.500011056+i*1.3228881  x6=0.500011056i*1.3228881  40 §11.HPHNGTRÌNHPHITUYN  PhngphápNewtoncóthđctngquáthoáđgiihphng trìnhphituyndng:  ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎨ ⎧ = ⋅⋅⋅⋅⋅ = = = 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  hayvitgnhndidng:  F(X)=0 Trongđó:  X=(x 1,x2,x3, ,xn)  Vimtphngtrìnhmtbin,côngthcNewtonlà:  )x(f )x( f xx i i i1i ′ −= +  hay: f(xi).∆x=f(xi) vi ∆x=xi+1xi Đivih,côngthclplà: J(Xi)∆x=F(Xi) TrongđóJ(Xi)làtoántJacobi.Nólàmtmatrnbcn(ntngngvi sthànhphntrongvectX)códng:  ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ = 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+1Xi  PhngphápNewtontuyntínhhoáhvànhvyvimibclp cngiimthphngtrìnhtuyntính(màbinlà∆xi)xácđnhbicông thclpchotikhivectX(x1,x2,x3, ,xn)gnvinghim.  Diđâylàchngtrìnhgiihphngtrìnhphituyn  ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ =+− =++− =−+++ =−−− 08xxxx2 04x8x25 05xxxx 08xxx3xx 4321 3 2 1 4321 421 2 2 3 1  41 MatrnđohàmriêngJ(Xi)là:  ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ − − − −−−− 1xx2xx2xx2 080 x25 x 1111 xx30xx3x3xx3x3 213132 2 1 1 2141 2 242 2 1   Matrnnàyđcchngtrìnhđcvàonhthtcdoc.Trongthtc này,cáchsa[i,5]làcáchàmfi(x).Vectnghimbanđuđcchnlà{0, 1,1,1} T .Kt qu tính cho ta : x = {0.01328676,1.94647929, 1.12499779,8.05819031 } T  viđchính xác 0.000001.Vect s d r = { 0.00000536,0.00000011,0.00000001,0.00000006} T .  Chngtrình211  //giaiheptphituyen #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #definen4  floata[n+1][n+2]; floatx[n+1],y[n+1]; inti,j,k,l,z,r; floate,s,t;  voidmain() {  voiddoc(); clrscr();  printf(Chocacgiatringhiembandau\n);  for(i=1;i<=n;i++) { printf(x[%d]=,i);  scanf(%f,&x[i]); }  e=1e6;  z=30;  for(r=1;r<=z;r++) 42 { doc(); for(k=1;k<=n1;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])<(1e08)) { printf(Matransuybien); gotomot; } } for(i=k+1;i<=n;i++) { if(a[k][k]==0) { 43 printf(Cac phan tu duong cheo cua ma tran bangkhong\n); gotomot; } 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=n1;i>=1;i) { s=a[i][n+1]; for(j=i+1;j<=n;j++) s=sa[i][j]*y[j]; if(a[i][i]==0) { printf(Cac phan tu duong cheo cua ma tran bangkhong\n); gotomot; } y[i]=s/a[i][i]; } } if(r!=1) for(i=1;i<=n;i++) { if(fabs(y[i])<e*fabs(x[i])) gotoba; } for(i=1;i<=n;i++) x[i]=x[i]y[i]; printf(\n); }  printf(Khonghoitusau%dlanlap\n,z);  gotomot;  clrscr();   ba:printf(Vectonghiem\n);  for(i=1;i<=n;i++) printf(%.5f\n,(x[i]y[i])); 44 . SaukhiphântíchxongPn(x)tatiptcphântíchPn2(x)theophng pháp trên.Cácbc tính toángm: Chncácgiátrbanđubtkìs0vàp0  Tính cácgiátrbo, ,bntheo(1)  Tính cácgiátrco, ,cntheo(2)  Tính ∆sovà∆potheo(3)và(4)  Tính s1=s0+∆sovàp1=po+∆po Lplibc1chođnkhipi+1=pi=pvàsi+1=si=s Giiphng trình x2sx+pđtìm2nghimcađathc Btđuquá trình trênchođathcPn2(x)  Víd:TìmnghimcađathcP4(x)=x 4 1.1x 3 +2.3x 2 +0.5x 2 +3.3. Vilnlpbanđutachns=1vàp=1,nghĩalàtamthccódng:x 2 +x+1  a0. ∆x=xi+1xi Đivih,côngthclplà: J(Xi)∆x=F(Xi) TrongđóJ(Xi)làtoántJacobi.Nólàmtmatrnbcn(ntngngvi sthànhphntrongvectX)códng:  ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅⋅⋅⋅ ⋅⋅⋅⋅⋅⋅ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ⋅⋅⋅ ∂ ∂ ∂ ∂ ∂ ∂ = 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+1Xi  Phng pháp Newtontuyn tính hoáhvànhvyvimibclp cngiimthphng trình tuyn tính (màbinlà∆xi)xácđnhbicông thclpchotikhivectX(x1,x2,x3,. x6=0.500011056i*1.3228881  40 §11.HPHNGTRÌNHPHITUYN  Phng pháp Newtoncóthđctngquáthoáđgiihphng trình phituyndng:  ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎨ ⎧ = ⋅⋅⋅⋅⋅ = = = 0)x,

Ngày đăng: 17/06/2015, 13:59

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan