Tải bản đầy đủ (.pdf) (11 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (238.1 KB, 11 trang )

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
 printf(\n);
 printf(Dochinhxaccuanghiemla%.5f:\n,e);
 printf(\n);
 printf(Vectotrisodu:\n);
 for(i=1;i<=n;i++)
printf(%.5f\n,(a[i][n+1]));
 mot:printf(\n);
 getch();
}


voiddoc()
{
 a[1][1]=3*x[1]*x[1]3*x[2]*x[4];
 a[1][2]=3*x[2]*x[2]3*x[1]*x[4];
 a[1][3]=0;
 a[1][4]=3*x[1]*x[2];
 a[1][5]=x[1]*x[1]*x[1]x[2]*x[2]*x[2]3*x[1]*x[2]*x[4]8;

 a[2][1]=1;
 a[2][2]=1;
 a[2][3]=1;
 a[2][4]=1;
 a[2][5]=x[1]+x[2]+x[3]+x[4]5;

 a[3][1]=x[1]/sqrt(25x[1]*x[1]);
 a[3][2]=0;
 a[3][3]=8;
 a[3][4]=0;
 a[3][5]=sqrt(25x[1]*x[1])+8*x[3]+4;

 a[4][1]=2*x[2]*x[3];
 a[4][2]=2*x[1]*x[3];
 a[4][3]=2*x[1]*x[2];
 a[4][4]=1;
 a[4][5]=2*x[1]*x[2]*x[3]x[4]+8;

}

45

×