1-masala. 2x+1=0 tenglama yechimi oraliqni ikkiga bo’lish usuli bilan yechish algoritmi va dasturini tuzing.
Tanishib chiqqan algoritm bo’yicha biror dasturlash tilida dastur tuzishdan avval masalani yechish algoritmini blok-sxemalar orqali ifodalab olamiz.
Masala yechimi algoritmning
B l o k - s x ye m a s i
#include
#include
using namespace std;
float f(float x)
{return 2*x+1; }
int main()
{ float a,b,c,e;
cin>>a>>b>>e;
while(f(a)*f(b)>0)
cin>>a>>b;
do{c=(a+b)/2.;
if(f(a)*f(c)<0){
b=c;}
else a=c;
if(f(a)==0)cout<if(f(b)==0)cout<}while(fabs(b-a)>=e);
c=(a+b)/2.;
cout<return 0;
}
Ketma-ket yaqinlashish (Iteratsiya) usulining ishchi algoritmi.
Algebraik va transcendent tenglamalarni yechish uchun oddiy iteratsiya usuli f(x)0 tenglamani x=(x) , bu yerda |' (x)|<1 ko’rinishga keltirib yechishga asoslangandir, ya’ni: xn= (x n -1) , n=1,2,....
x0-yechimning boshlang’ich qiymati. Tenglama yechimini aniqlash |xn–xn-1| sharti bajarilguncha, rekkurent formula bo’yicha davom ettiriladi. Bu shartning bajarilishi tenglama yechimining e nisbiy aniqlikda aniqlanganligini bildiradi.
2-Masala. x3-10x+2=0 tenglamani 0.01 aniqlikda oddiy iterasiya usuli bilan yeching.
Yechish
Yechim yotgan oraliqni tanlash usuli bilan tanlab olamiz.
F(0)=2>0
F(1)=-7<0
Bo’lgani uchun yechimni [0;1] oraliqdan izlaymiz.
F(x)= x3-10x+2 funksiyani
x=(x) ko’rinishga keltirib olamiz. x= (x3+2)/10;
iteratsiya usulining yaqinlashish shartiga ko’ra |' (x)|<1
' (x)= ; ; shart bajariladi. Demak, iteratsion x= (x3+2)/10 yaqinlashuvchidir.
x0 boshlang’ich taqribiy qiymatga [0;1] oraliqdan ixtiyoriy qiymatni olish mumkin. masalan x0=0
iteratsion ko’rinishdagi formulaga
k=0 da x0=0 ni qo’yib hisoblasak,
=0.2
Bo’lgani uchun, keyingi qadamga o’tamiz.
k=1 da x1=0.2 ni qo’yib hisoblasak,
=0.2008
Bo’lgani uchun, yechim x=0.2008 deb olinadi.
Ayrim tenglamalarni x ga nisbatan ya’ni x=(x) ko’rinishga keltirish murakkabroqdir. Masalan, tenglamani x ga nisbatan yechish murakkabroqdir. Bu holatda quyidagicha yo’l tutiladi.
f(x)0 tenglamani har ikkala tomonini (–1/k) ga ko’paytiramiz va x ni qo’shamiz.
x=x+(-1/k)f(x), bu yerda k-ixtiyoriy son. Demak hosil bo’lgan formulani rekkurent formula sifatida olish mumkin.
xn = xn-1 +(-1/k)f(xn-1) ,
Bunda ham yaqinlashish jarayoni berilgan aniqlikkacha davom ettiriladi.
3-Masala.
tenglamani oddiy iteratsiya usulida yeching
F(x)= funksiyani
x=(x) ko’rinishga keltirib olamiz. x= x+ ;
x0 boshlang’ich taqribiy qiymatga (0;1) oraliqdan ixtiyoriy qiymatni olish mumkin. masalan x0=0.5
Formula bo’yicha
shart bajarilguncha hisoblanadi.
1>0>1>
Do'stlaringiz bilan baham: |