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

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

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 (445.46 KB, 30 trang )

CHNG5:NISUYVÀXPXHÀM

§1.NISUYLAGRANGE
 Trongthctnhiukhiphiphchimthàmy=f(x)timigiátrx
trongmtđon[a,b]nàođómàchbitmtsnhtđnh
cácgiátrcahàm
timtsđimchotrc.Cácgiátrnàyđccungcpquathcnghim
haytínhtoán.Vìvynysinhvnđtoánhclàtrênđona≤x
≤bchomt
lotcácđimxi(i=0,1,2 )vàticácđimxinàygiátrcahàmlàyi=f(xi)
đãbit.Bâygitacntìmđathc:
 P
n(x)=aoxn+a1x
n1
+…+an1x+an
saochoP
n(xi)=f(xi)=yi.ĐathcPn(x)đcgilàđathcnisuycahàm
y=f(x).Tachnđathcđnisuyhàmy=f(x)vìđathclàloihàmđn
gin,luôncóđohàmvànguyênhàm.Victínhgiátr
canótheothuttoán
Hornercũngđngin.
 BâygitaxâydngđathcnisuykiuLagrange.GiL
ilàđathc:
)xx) (xx)(xx) (xx(
)xx) (xx)(xx) (xx(
L
ni1ii1ii0i
n1i1i0
i
−−−−



−−
=
+−
+−

 RõrànglàLi(x)làmtđathcbcnvà:




=
=
ij0
ij1
)x(L
ji

TagiđathcnàylàđathcLagrangecbn.
Bâygitaxétbiuthc:
 

=
=
n
0i
iin
)x(L)x(f)x(P
TathyPn(x)làmtđathcbcnvìcácLi(x)làcácđathcbcnvà
thomãnđiukinPn(xi)=f(xi)=yi.TaginólàđathcnisuyLagrange.

Vin=1tacóbng
x x
0 x1
y y0 y1
Đathcnisuyslà:
 P
1(x)=yoL0(x)+y1L1(x1)

10
1
0
xx
xx
L


= 
01
0
1
xx
xx
L


= 
nên
01
0
1

10
1
01
xx
xx
y
xx
xx
y)x(P


+


= 
NhvyP1(x)làmtđathcbcnhtđivix
Vin=2tacóbng

128
x x0 x1 x2
y y0 y1 y2
Đathcnisuyslà:
 P2(x)=yoL0(x)+y1L1(x1)+y2L2(x2)

)xx)(xx(
)xx)(xx(
L
2010
21
0

−−
−−
= 
)xx)(xx(
)xx)(xx(
L
2101
20
1
−−
−−
= 
)xx)(xx(
)xx)(xx(
L
1202
10
2
−−
−−
= 

NhvyP
1(x)làmtđathcbchaiđivix
 Trêncsthuttoántrêntacóchngtrìnhtìmđathcnisuyca
mthàmkhichotrccácđimvàsauđótínhtr
scanótimtgiátr
nàođónhsau:

Chngtrình51


#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#definemax21

intmaxkq,n;
floatx[max],y[max],a[max],xx[max],yy[max];
floatx0,p0;

voidmain()
{
 inti,k;
 charok;

 voidvaosolieu(void);
 floatlagrange(int,float[],float[],float);
 voidinkq(void);

 clrscr();
 printf(%24cNOISUYDATHUCLAGRANGE\n,);

129
 vaosolieu();
 k=0;
 ok=c;
 while(ok==c)
{
printf(Tinhgiatricuayvoixlax0=);
scanf(%f,&x0);

p0=lagrange(n,x,y,x0);
printf(Giatricuay=%15.5f\n,p0);
printf(\n);
k=k+1;
maxkq=k;
xx[k]=x0;
yy[k]=p0;
flushall();
printf(
Tinhtiepkhong(c/k)?);
scanf(%c,&ok);
}
 inkq();
}

voidvaosolieu()
{
 inti,t;
 charok;

 printf(\n);
 printf(Hamy=f(x)\n);
 printf(Socap(x,y)nhieunhatlamax=20\n);
 printf(Sodiemdachotruocn=
);
 scanf(%d,&n);
 for(i=1;i<=n;i++)
{
printf(x[%d]=,i);
scanf(%f,&x[i]);

printf(y[%d]=,i);
scanf(%f,&y[i]);
}

130
 printf(\n);
 printf(SOLIEUBANVUANHAP\n);
 printf(xy\n);
 for(i=1;i<=n;i++)
printf(%8.4f%8.4f\n,x[i],y[i]);
 ok=;
 t=1;
 flushall();
 while(t)
{
printf(\nCosuasolieukhong(c/k):?);
scanf(%c,&ok);
if(toupper(ok)==C)
{
printf(
Chisocuaphantucansuai=);
scanf(%d,&i);
printf(Giatrimoi:);
printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
flushall();
}
if(toupper(ok)!=C)

t=0;
}
}

floatlagrange(intn,float
x[max],floaty[max],floatx0)
{
 inti,k;
 floatg0;

 p0=0.0;
 for(k=1;k<=n;k++)
{
g0=1.0;
for(i=1;i<=n;i++)

131
if(i!=k)
g0=g0*(x0x[i])/(x[k]x[i]);
p0=p0+y[k]*g0;
}
 return(p0);
}

voidinkq()
{
 inti,j,k;
 printf(\n);
 printf(%24cBANGSOLIEU\n,);
 printf(%18cx%24cy\n,,);

 for(i=1;i<=n;i++)
printf(%20.4f%25.4f\n,x[i],y[i]);
 printf(\n);
 printf(%24cKETQUATINHTOAN\n
,);
 printf(%14cx%10cy\n,,);
 for(k=1;k<=maxkq;k++)
printf(%15.5f%15.5f\n,xx[k],yy[k]);
 getch();
}

 Gistacóbngcácgiátrx,y:
x 0 32 2 4
y 03.75 102 4
vytheochngtrìnhtix=2.5y=3.3549.

§2.NISUYNEWTON
 Bây gi ta xét mt cách khácđxây dngđa thc ni suy gi là
phngphápNewton.Trchttađavàomtkháinimmilàthiu
 Gishàmy=y(x)cógiá
trchotrongbngsau:
x x0 x1 x2
…
xn1 xn 
y y0 y1 y2
…
y
n1 yn 
 Thiucp1caytixi,xjlà:


ji
ji
ji
xx
yy
]x,x[y


= 
 Thiucphaicaytixi,xj,xklà:

132
k
i
k
jji
k
ji
xx
]x,x[y]x,x[y
]x,x,x[y


= 
v.v.
 Viy(x)=P
n(x)làmtđathcbcnthìthiucp1tix,x0:

0
0nn

0n
xx
)x(P)x(P
]x,x[P


= 
làmtđathcbc(n1).Thiucp2tix,x
0,x1:
1
10n0n
10n
xx
]x,x[P]x,x[P
]x,x,x[P


= 
làmtđathcbc(n2)v.vvàtithiucp(n+1)thì:
 Pn[x,xo, ,xn]=0
Tcácđnhnghĩathiutasuyra:
 P
n(x)=Pn(x0)+(xx0)Pn[x,xo]
 Pn[x,x0]=Pn[x0,x1]+(xx1)Pn[x,xo,x1]
 P
n[x,xo,x1]=Pn[x0,x1,x2]+(xx2)Pn[x,xo,x1,x2]
 
 P
n[x,xo, ,xn1]=Pn[x0,x1, ,xn]+(xxn)Pn[x,xo, ,xn]
Do Pn[x,xo, ,xn]=0nêntđótacó:

Pn(x)=Pn(x0)+(xx0)Pn[xo,x1]+(xx0)(xx1)Pn[x0,x1,x2]+…
+(xx
0)…(xxn1)Pn[x0,…,xn]
NuP
n(x)làđathcnisuycahàmy=f(x)thì:
 Pn(xi)=f(xi)=yivii=0÷n
 Dođócácthiutcp1đncpncaPnvàcaylàtrùngnhauvà
nhvytacó:
P
n(x)=y0+(xx0)y[x0,x1]+(xx0)(xx1)y[x0,x1,x2]+ +
(xx0)(xx1) (xxn1)y[x0, ,xn]
ĐathcnàygilàđathcnisuyNewtontinxutpháttnútx0ca
hàmy=f(x).NgoàiđathctincòncóđathcnisuyNewtonlùixutphát
tđimx
ncódngnhsau:
 P
n(x)=yn+(xxn)y[xn,xn1]+(xxn)(xxn1)y[xn,xn1,xn2]+ +
(xx
n)(xxn1) (xx1)y[xn, ,x0]
Trnghpcácnútcáchđuthìxi=x0+ihvii=0,1, ,n.Tagisai
phântincp1tiilà:
 ∆y
i=yi+1yi
vàsaiphântincphaitii:
 ∆
2
yi=∆(∆yi)=yi+22yi+1+yi
 
vàsaiphântincpnlà:


133
 ∆
n
yi=∆(∆
n1
yi)
Khiđótacó:

[]
h
y
x,xy
0
10

= 

[]
2
0
2
210
h2
y
x,x,xy

= 
 

[]

n
0
n
n210
h!n
y
x, ,x,x,xy

= 
Bâygiđtx=x
0+httrongđathcNewtontintađc:


0
n
0
2
000n
y
!n
)1nt()1t(t
y
!2
)1t(t
yty)htx(P ∆
+−





+⋅⋅⋅+∆

+∆+=+ 
thìtanhnđcđathcNewtontinxutpháttx
0trongtrnghpnút
cáchđu.Vin=1tacó:
 P1(x0+ht)=y0+∆y0
Vin=2tacó:
0
2
000n
y
!2
)1t(t
yty)htx(P ∆

+∆+=+ 
Mtcáchtngttacókháinimcácsaiphânlùitii:
 ∇y
i=yiyi1
 ∇
2
yi=∇(∇yi)=yi2yi1+yi2
 
 ∇
n
yi=∇(∇
n1
yi)
vàđathcnisuyNewtonlùikhicácđimnisuycáchđu:

n
n
n
2
nn0n
y
!n
)1nt()1t(t
y
!2
)1t(t
yty)htx(P ∇
−+⋅


+
+⋅⋅⋅+∇
+
+∇+=+ 

Víd:Chohàmnhbngsau:

x 0.1 0.2 0.3 0.4
y 0.09983 0.19867 0.29552 0.38942

Tatínhgiátrcahàmti0.14bngđathcnisuyNewtonvìcácmccách
đuh=0.1.Tacóbngsaiphânsau:

i x y ∆y ∆
2

y ∆
3
y
0 0.1 0.09983  
 0.09884 

134
1 0.2 0.198670.00199
 0.096850.00096
2 0.3 0.295520.00295
 0.09390 
3 0.4 0.38942  

TadùngcôngthcNewtontinviđimgclàx
0=0.1;h=0.1.Vix=
0.14tacó0.14=0.1+0.1tnênt=0.4vàktqulà:
1395433
6
.000096.0
!3
)2t)(1t(t
00199.0
!2
)1t(t
099884.0.t09983.0)t1.01.0(P =




++=+

ChngtrìnhnisuyNewtonnhsau:

Chngtrình52

//NoisuyNewton
#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#definemax11

voidmain()
{
 inti,j,k,n,t;
 floata[max],b[max],x[max],y[max];
 charok;
 floatx0,p;

 clrscr();
 printf(Sodiemdachon=);
 scanf(%d,&n);
 for(i=1;i<=n;i++)
{
printf(x[%d]=,i);
scanf(%f
,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
 printf(%10cBANGSOLIEU\n,);


135
 printf(%8cx%30cy\n,,);
 for(i=1;i<=n;i++)
printf(%4c%8.4f%23c%8.4f\n,,x[i],,y[i]);
 ok=;
 t=0;
 flushall();
 while(t)
{
printf(Cosuasolieukhong(c/k):);
scanf(%c,&ok);
if(toupper(ok)==C)
{
printf(Chisocuaphantucansuai=
);
scanf(%d,&i);
printf(Giatrimoi:);
printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
flushall();
}
if(toupper(ok)!=C)
t=0;
}
 a[1]=y[1];
 for(j=1;j<=n1;j++)
{
for(i=1;i<=nj;i++)

y[i]=(y[i+1]y[i])/(x[i+j]x[i]);

a[j+1]=y[1];
}
 b[n]=a[n];
 for(k=n1;k>=1;k)
{
for(j=n1;j>=1;j)
b[j]=a[j];
for(i=n1;i>=k;i)
a[i]=a[i]b[i+1]*x[k];

136
}
 for(i=n;i>=1;i)
printf(Hesobac%dla:%8.4f\n,i1,a[i]);
 printf(\n);
 k=0;
 ok=c;
 flushall();
 while(ok==c)
{
printf(Tinhgiatricuaytaix=);
scanf(%f,&x0);
p=0;
for(k=n;k>=1;k)
p=p*x0+a[k];

printf(Trisonoisuytaix0=%4.2fla:%10.5f\n,x0,p);
getch();

printf(Bancomuontinhtiepcacdiemkhackhong(c/k));
do
scanf(%c,&ok);
while((ok!=c)&&(ok!=k));
}
}

Dùngchngtrìnhnàynisuycác
giátrchotrongbngsau

0 0.2 0.4 0.6 0.8 1.0
1 1.22140276 1.4918247 1.8221188 2.22554093 2.71828183
tacócáchscađathcnisuy:0.0139(bc5),0.0349(bc4),0.1704(bc3),
0.4991(bc2),1.0001(bc1)và1.0000(bc0).

§3.NISUYAITKEN
Mt dng khác cađa thc ni suyđc xácđnh bng thut toán
Aitken.Gistacónđimđãchocahàmf(x).Nhvyquahaiđimx
0và
x1tacóđathcnisuyLagrangecahàmf(x)đcvitdidng:
01
11
00
01
xx
xxy
xxy
)x(P




= 
làmtđathcbc1:

137
01
0
1
10
1
001
xx
xx
y
xx
xx
y)x(P


+


= 
Khix=x
0thì:
0
01
011
000
001

y
xx
xxy
xxy
)x(P =



= 
Khix=x
1thì:
1
01
111
100
101
y
xx
xxy
xxy
)x(P =



= 
ĐathcnisuyLagrangecaf(x)qua3đimx
0,x1,x2códng:

02
212

001
012
xx
xx)x(P
xx)x(P
)x(P



= 
vàlàmtđathcbc2:

)xx)(xx(
)xx)(xx(
y
)xx)(xx(
)xx)(xx(
y
)xx)(xx(
)xx)(xx(
y)x(P
1202
10
2
2101
20
1
2010
21
0012

−−


+
−−


+
−−
−−
= 
Khix=x
0thì:

0
02
0212
000
0012
y
xx
xx)x(P
xxy
)x(P =



= 
Khix=x
1thì:


1
02
121
101
1012
y
xx
xxy
xxy
)x(P =



= 
Khix=x
2thì:

2
02
222
20201
2012
y
xx
xxy
xx)x(P
)x(P =




= 
TngquátđathcnisuyLagrangequanđimlà:
02
nn 12
0)1n (01
n 012
xx
xx)x(P
xx)x(P
)x(P



=


Nh vy ta có th dùng phép lpđxácđnh ln lt cácđa thc
Lagrange.SđtínhtoánnhvygilàsđNevilleAitken.
Víd:Chocáccpđim(0,0.4),(1.4,1.5),(2.6,1.8),(3.9,2.6),tínhytix=2

138
 97143.1
04.1
6.05.1
24.0
xx
xxy
xxy
)x(P

01
11
00
01
=



=



= 
65.1
4.16.2
6.08.1
6.05.1
xx
xxy
xxy
)x(P
12
22
11
12
=


=




=

7242.1
06.2
6.065.1
297143.1
xx
xx)x(P
xx)x(P
)x(P
02
212
001
012
=


=



= 
4308.1
6.29.3
9.16.2
6.08.1
xx
xxy

xxy
)x(P
23
33
22
23
=

=



= 
5974.1
4.19.3
9.14308.1
6.065.1
xx
xx)x(P
xx)x(P
)x(P
13
323
112
123
=


=




= 
6592.1
09.3
9.15974.1
27242.1
xx
xx)x(P
xx)x(P
)x(P
03
3123
0012
0123
=


=



= 
Chngtrìnhđcvitnhsau 

Chngtrình53

//NoisuyAitken
#include<conio.h>
#include<stdio.h>

#include<ctype.h>
#definemax11

voidmain()
{
 floatx[max],y[max],yd[max];
 floatx1;
 intj,k,n,n1;

 clrscr();
 printf(Chosodiemdacon=);
 scanf(%d,&n1);

139
 n=n11;
 for(k=0;k<=n;k++)
{
printf(x[%d]=,k+1);
scanf(%f,&x[k]);
printf(y[%d]=,k+1);
scanf(%f,&y[k]);
}
 printf(Chodiemcantinhgiatricuahamx1=);
 scanf(%f,&x1);
 for(k=0;k<=n1;k++)
{
yd[k]=(y[k]*(x1x[k+1])y[k+1]*(x1x[k]))/(x[k]
x[k+1]);
if(k!=0)
for(j=k1;j>=0;j)

yd[j]=(yd[j]*(x1x[k+1])yd[j+1]*(x1x[j]))/(x[j]x[k+1]);
}
 printf(Giatrihamtaix=%6.3flay=%8.4f\n,x1,yd[0]);
 getch();
}
 Dùngchngtrìnhnàyđnisuycáccps(1,3),(2,5),(3,7),(4,
9)và
(5,11)tix=2.5tacóy=6.

§4.XPXHÀMBNGPHNGPHÁPBÌNHPHNGBÉNHT
 Trongcácmctrctađãnisuygiátrcahàm.Bàitoánđólàcho
mthàmdidngbngsvàphitìmgiátrcahàmtimtgiátrcađi
skhôngnmtrongbng.
 Trongthct,bêncnhbàitoánnisuytacòngpmtdngbàitoán
khác.Đólàtìmcôngthcthcnghimcamthàm.Nidungbàitoánlàt
mtlotcácđimchotrc(cóthlàcácgiátrcamtphépđonàođó)ta
phitìmmthàmxpxcácgiátrđãcho.Tasdùngphngphápbình
phngtithiuđgii bài toán.Giscómu quan sát (xi,yi)cahàm
y=f(x).Tachnhàmf(x)códng:
 f(x)=a0f0(x)+a1f1(x)+a2f2(x) (1)
Trongđócáchàmf0(x),f1(x),f2(x)v.v.là(m+1)hàmđclptuyntínhmàta
cóthchntuývàcáchsailàthamschabitmàtaphixácđnhda
vàohhàmđãchnvàcácđimquansát.Saisgiatrđođcvàtrtính
theo(1)là:

140
 ei=yif(xi)(2)
Saisnàycóthâmhay dng tu tnggiátrcayi.Khidùngphng
phápbìnhphngbénhttaxétbìnhphngcasaistimtđim:
 (3)

[
2
ii
2
i
)x(fye −=
]
Vinđimtngbìnhphngcasaisslà:
 
[]
{}
∑∑
==
+⋅⋅⋅++−==
n
1i
2
inni11i00i
n
1i
2
i
)x(fa)x(fa)x(fayeS
RõràngSlàhàmcacácgiátrcntìmai.vàchúngtaschncácaisaochoS
đt giá tr min, nghĩa là cácđo hàm
i
a
S



phi bng không.Ta s xét các
trnghpcth.
1.Hàmxpxcódngđathc:Trongtrnghptngquáttachnhhàm
xpxlàmtđathc,nghĩalà:
 f(x)=a0+a1x+a2x
2
+ +amxm
VyhàmSlà:


()
2
m210i
xaxaxaayS +⋅⋅⋅+++−=
Theođiukinđohàm
0
a
S
i
=


tanhnđchphngtrình:


















=+⋅⋅⋅++
⋅⋅⋅
=+⋅⋅⋅++
=+⋅⋅⋅++
=+⋅⋅⋅++
=+⋅⋅⋅++
∑∑∑∑
∑∑∑∑
∑∑∑∑
∑∑∑∑
∑∑∑
====


====
+

+
====
+


+
====

+
===


n
1i
i
m
i
n
1i
m
i0
n
1i
n
1i
1m2
i1m
m2
im
n
1i
i
3
i

n
1i
3
i0
n
1i
n
1i
2m
i1m
3m
im
n
1i
i
2
i
n
1i
2
i0
n
1i
n
1i
1m
i1m
2m
im
n

1i
ii
n
1i
i0
n
1i
n
1i
m
i1m
1m
im
n
1i
i0
n
1i
n
1i
1m
i1m
m
im
yxxaxaxa
yxxaxaxa
yxxaxaxa
yxxaxaxa
ynaxaxa



Đâylàmthphngtrìnhtuyntính.Giinótanhnđccácgíatr
a
i.Sauđâylàchngtrìnhvittheothuttoántrên.

Chngtrình54

//Xapxidathuc
#include<conio.h>
#include<stdio.h>

141
#include<ctype.h>
#definemax11

voidmain()
{
 inti,j,k,m,n,p,kp,t;
 floata[max],x[max],y[max],y1[max];
 floatb[max][max];
 charok;
 floats,sx,s1,c,d;

 clrscr();
 printf(PHUONGPHAPBINHPHUONGTOITHIEU);
 printf(\n);
 printf(Chobaccuadathucxapxim=);
 scanf(%d,&m);
 printf(
Sodiemdachon=);

 scanf(%d,&n);
 for(i=1;i<=n;i++)
{
printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
 x[0]=1;
 printf(\n);
 printf(%4cBANGSOLIEU\n,);
 printf(%8cx%30cy\n,,);
 for
(i=1;i<=n;i++)
printf(%4c%8.4f%20c%8.4f\n,,x[i],,y[i]);
 ok=;
 t=1;
 flushall();
 while(t)
{
printf(Cosuasolieukhong(c/k):);
scanf(%c,&ok);

142
if(toupper(ok)==C)
{
printf(Chisocuaphantucansuai=);
scanf(%d,&i);
printf(Giatrimoi:);
printf(x[%d]=,i);

scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
flushall();
}
if(toupper(ok)!=C)

t=0;
}
 //for(i=0;i<=n;i++)
//a[i]=0.0;
 printf(\n);
 printf(CACGIATRIDACHO);
 printf(\n);
 printf(X=);
 for(i=1;i<=n;i++)
printf(%c%8.3f,,x[i]);
 printf(\n);
 printf(Y=);
 for(i=1;i<=n;i++)
printf(%c%8.3f,,y[i]);
 printf(\n
);
 for(p=0;p<=m;p++)
{
y1[p]=0.0;
for(i=1;i<=n;i++)
{
sx=1.0;
for(j=1;j<=p;j++)

sx*=x[i];
y1[p]+=y[i]*sx;
}
}

143
 for(p=0;p<=m;p++)
for(k=0;k<=m;k++)
{
kp=k+p;
b[p][k]=0.0;
for(i=1;i<=n;i++)
{
sx=1.0;
for(j=1;j<=kp;j++)
sx*=x[i];
b[p][k]+=sx;
}
}
 for(i=0;i<=m1;i++)
{
c=1.0/b[i][i];
for(k=i+1;k<=m;k++)
{
d=b[i][k];
for(j=i+1;j<=m;j++)
b[k][j]=b[i][j]*c*d;
y1[k]=y1[i]*c*d;
b[i][k]*=c;
}

y1[i]*=c;
}
 y1[m]/=b[m][m];
 for(i=m1;i>=0;i)
for(j=i+1;j<=m;j++)
y1[i]=b[i][j]*y1[j];
 printf(\n);
 printf(CACHESOCUADATHUCCANTIM);
 printf(\n);
 for(i=0;i<=m;i++)
printf(a[%d]=%10.5f\n,i,y1[i]);
 getch();
}


144
Vicácgiátrx,yđođctheobng

x 7 8 9 10 11 12 13
y 7,4 8,4 9,1 9,4 9,5 9,5 9,4

tacón=7vàchnm=2vàtínhđctheochngtrìnhcáchs:
a
0=0.111905;a1=2.545238;a2=4.857143
vàhàmxpxslà:f(x)=0.111905+2.545238x4.857143x
2

2.HàmdngAe
cx
:Khicácsliuthhinmtsbinđiđnđiutadùng

hàmxpxlày=Ae
cx
.Lylogarithaivtacó:
 lny=lnA+cxlne
Theođiukinđohàm
0
a
S
i
=


tacóhphngtrình:







=+
=+
∑∑∑
∑∑
===
==
n
1i
n
1i

ii
n
1i
i
2
i
n
1i
n
1i
ii
ylnxxAlnxc
ylnAlnnxc

GiihphngtrìnhnàytacócáchsAvàc:

Chngtrình55

//xap_xi_e_mu;
#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#include<math.h>
#definemax11
voidmain()
{
 inti,n,t;
 floatx[max],y[max];
 charok;
 floata,b,c,d,e,f,d1,d2,d3;


 clrscr();
 printf(PHUONGPHAPBINHPHUONGTOITHIEU);
 printf(\n);

145
 printf(Sodiemdachon=);
 scanf(%d,&n);
 for(i=1;i<=n;i++)
{
printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
 x[0]=1.0;
 printf(%4cBANGSOLIEU\n,);
 printf(%8cx%30cy\n,,);
 for(i=1;i<=n;i++)
printf(
%4c%8.4f%23c%8.4f\n,,x[i],,y[i]);
 ok=;
 t=1;
 while(t)
{
printf(Cosuasolieukhong(c/k):);
scanf(%c,&ok);
if(toupper(ok)==C)
{
printf(Chisocuaphantucansuai=);

scanf(%d,&i);
printf(Giatrimoi:);

printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
if(toupper(ok)!=C)
t=0;
}
 printf(CACGIATRIDACHO);
 printf(\n);
 printf(X=);
 for(i=1;i<=n;i++)
printf(%c%8.3f,,x[i]);

146
 printf(\n);
 printf(Y=);
 for(i=1;i<=n;i++)
printf(%c%8.3f,,y[i]);
 printf(\n);
 a=0.0;
 for(i=1;i<=n;i++)
a+=x[i];
 b=n;
 c=0.0;
 for(i=1;i<=n;i++)
c+=log(y[i]);

 d=0.0;
 for(i=1;i<=n;i++)
d+=x[i]*x[i];
 e=0.0;
 for(i=1;i<=n;i++)
e+=x[i]*log(y[i]);
 d1=a*ad*b;
 d2=c*ae*b;
 d3=a*ec*d;
 c=d2/d1;

 a=d3/d1;
 printf(\n);
 printf(HesoA=%8.4f,exp(a));
 printf(vasomuc=%8.4,c);
 printf(\n);
 printf(\nBANGCACGIATRITINHTOAN);
printf(\n);
 printf(%5cx%28cy\n,,);
 for(i=1;i<=n;i++)
{
printf(%8.4f%21c%8.4f\n,x[i],,exp(a)*exp(c*x[i]));

}
 getch();
}

Vicácgiátrx,yđođctheobng

147


x 0 2 4 6 8 10 12
y 1280 635 324 162 76 43 19

tacón=7vàtínhđctheochngtrìnhcáchs:A=1285.44vac=0.3476
vàhàmxpxslà:f(x)=1285.44

3.HàmdngAx
q
:Khicácsliuthhinmtsbinđiđnđiutacũng
cóthdùnghàmxpxlày=Ax
q
.Lylogarithaivtacó:
 lny=lnA+qlnx
Theođiukinđohàmtrittiêutacóhphngtrình:







=+
=+
∑∑∑
∑∑
===
==
n
1i

n
1i
ii
n
1i
ii
2
n
1i
n
1i
ii
ylnxlnxlnAlnxlnq
ylnAlnnxlnq

GiihphngtrìnhnàytacócáchsAvàq:

Chngtrình56

//xap_xi_x_mu;
#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#include<math.h>
#definemax11

voidmain()
{
 inti,n,t;
 floatx[max],y[max];

 charok;
 floata,b,c,d,e,f,d1,d2,d3;

 clrscr();
 printf(PHUONGPHAPBINHPHUONGTOITHIEU);
 printf(\n);
 printf(Sodiemdachon=);
 scanf(%d
,&n);

148
 for(i=1;i<=n;i++)
{
printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
 x[0]=1.0;
 printf(%4cBANGSOLIEU\n,);
 printf(%8cx%30cy\n,,);
 for(i=1;i<=n;i++)
printf(%4c%8.4f%23c%8.4f\n,,x[i],,y[i]);
 ok=;
 flushall();
 t=1;
 while(t)

{
printf(Cosuasolieukhong(c/k):);

scanf(%c,&ok);
if(toupper(ok)==C)
{
printf(Chisocuaphantucansuai=);
scanf(%d,&i);
printf(Giatrimoi:);
printf(x[,i,]=);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
if(toupper(ok)!=C)
t=0;
}
 printf(\n);
 printf(\nCACGIATRIDACHO);
 printf(\n);
 printf(X=);
 for(i=1;i<=n;i++)
printf(%c%8.3f,,x[i]);

149
 printf(\n);
 printf(Y=);
 for(i=1;i<=n;i++)
printf(%c%8.3f,,y[i]);
 printf(\n);
 a=0.0;
 for(i=1;i<=n;i++)
 a+=log(x[i]);

 b=n;
 c=0.0;
 for(i=1;i<=n;i++)
 c+=log(y[i]);
 d=0.0;
 for(i=1;i<=n;i++)
d+=log(x[i])*log(x[i]);
 e=0.;
 for(i=1;i<=n;i++)
e+=log(x[i])*log(y[i]);
 d1=a*ad*b;
 d2=c*ae*b;
 d3=a*ec*d;
 c=d2/d1;

 a=d3/d1;
 printf(\n);
 printf(HesoA=%8.4f,exp(a));
 printf(vasomuq=%8.4f\n,c);
 printf(\n);
 printf(\nBANGCACGIATRITINHTOAN\n);
 printf(%5cx%27cy\n,,);
 for(i=1;i<=n;i++)
{
printf(%8.4f%20c%8.4f\n,x[i],,exp(a)*exp(c*log(x[i])));
}
 getch();
}

Vicácgiátrx,yđođctheobng



150
x 1 2 4 5 6
y 7.1 27.8 62.1 110 161

tacón=5vàtínhđctheochngtrìnhcáchs:A=7.1641vàq=1.9531
vàhàmxpxslà:f(x)=1285.44x
1.9531

4.Hàmlnggiác:Khiquanhy=f(x)códngtunhoàntadùnghàmxp
xlàthptuyntínhcacáchàmsinvàcosindng:
 
∑∑
==
ω+ω+=
n
1i
n
1i
ii0
)xisin(b)xicos(aa)x(f
Đđngintrchttaxéthàmchcómtshngsincos,nghĩalà:

xsin
b
xcosaa)x(
f
110
ω

+ω+= 
HàmSscódng:
 
[]

=
ω+ω+−=
n
1i
2
110i
)xsinbxcosaa(yS
Theođiukinđo hàm trittiêu ta có h phngtrìnhđivicách s
dng:










ω
ω=





















ωωωω
ωωωω
ωω



∑∑∑
∑∑∑


xsiny
xcosy
y
b

a
a
xsinxsinxcosxsin
xsinxcosxcosxcos
xsinxcosn
1
1
0
2
2

Do:
0
n
xsinxcos
2
1
n
xcos
2
1
n
xsin
0
n
xcos
0
n
xsin
22

=
ωω
=
ω
=
ω
=
ω
=
ω

∑∑
∑∑

nênhphngtrìnhcódngđngin:










ω
ω=
























xsiny
xcosy
y
b
a
a
2n00
02n0
00n
1

1
0

Giihtacó:

∑∑

ω=ω== xsiny
n
2
bxcosy
n
2
a
n
y
a
110

Trongtrnghptngquát,mtcáchtngttacó:
∑∑

ω=ω== xisiny
n
2
bxicosy
n
2
a
n

y
a
ii0

Chngtrìnhtìmcáchsaivàbiđcthhinnhsau:

151

Chngtrình57

//xap_xi_sin_cos;
#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#include<math.h>
#definemax11
#definepi3.15159

voidmain()
{
 inti,j,m,n,t;
 floatx[max],y[max],a[max],b[max];
 charok;
 floatomg,t1;

 clrscr();
 printf(PHUONGPHAPBINHPHUONGTOITHIEU);
 printf(\n);
 printf(Chososohangsincosm
=);

 scanf(%d,&m);
 printf(ChochukiT=);
 scanf(%f,&t1);
 printf(Sodiemdachon=);
 scanf(%d,&n);
 for(i=1;i<=n;i++)
{
printf(x[%d]=,i);
scanf(%f,&x[i]);
printf(y[%d]=,i);
scanf(%f,&y[i]);
}
 x[0]=1.0;
 printf(%4cBANGSOLIEU\n,);
 printf(%8cx%30cy\n,,);
 for(i=1;i<=n;i++)

152

×