1–ma’ruza: Algoritmlarni loyihalashga kirish. Algoritmlarni vaqt va hajm bo‘yicha baholash. Ko‘phadlar qiymatlarini hisoblashda Gorner sxemasi


Download 58.31 Kb.
bet6/6
Sana16.06.2023
Hajmi58.31 Kb.
#1498275
1   2   3   4   5   6
Bog'liq
1-ma\'ruza

ck=bk-1x, bk=ak+ck (k=1,2,…,n)
larni hisoblashga keltiriladi. b0, b1, b2, … bn-1 koeffitsientlar P(x) ko‘phadni x-x ikki hadga bo‘lishdan hosil bo‘lgan bo‘linma Q(x) ko‘phadning koeffitsientlari va bn=P(x) esa qoldiq ekanligini ko‘rish mumkin.
Demak, (1.19) formulalar bo‘lish amalini bajarmasdan Q(x) ning koeffitsientlarini va qoldiqni topishga yordam berar ekan. Bu b0, b1, b2,…, bn koeffitsientlarni Gorner jadvali asosida quyidagicha topiladi:
a0 a1 a2 … an
+ b0x b1x … bn-1x
__________________________________
xû b0 b1 b2 … bn=P(x)

Demak, P(x)=bi=ai + bi-1x , b0= a0 , i=1,2,3,…,n


Pn(x) ko‘phadning qiymatini Gorner jadvali bilan hisoblashda n ta ko‘paytirish, n-k ta (k-nolga teng bo‘lgan koeffitsientlar soni) qo‘shish amallari bajariladi. Agar a0=1 bo‘lsa, ko‘paytirish n-1 ta bo‘ladi.
1.9-masala. Quyidagi
P(x) = 3x3+2x2-5x+7
ko‘phadning x=3 bo‘lgandagi qiymatini hisoblang.
Yechish. Gorner jadvalini tuzamiz.
3 2 -5 7
+ 9 33 84
--------------------------------------
3| 3 11 28 91= P(3)
Ko‘phad qiymatini Gorner usulida hisoblashnini 1.1-blok sxemasini va dasturini tuzamiz. Masaladagi berilganlar asosida ko’rsatilgan usulda hisoblashning algoritmini 1.1-jadvalda beramiz .
1.1-jadval

Berilganlar

Belgilashlar

matn bo‘yicha

dastur bo‘yicha

Ko‘phadning tartibi

N=3

INPUT N

Berilgan argumet

X=3

INPUT X

Ko‘phadning koeffitsentlari

a0=3, a1=2, a3=-5, a4=7

A(0)=3, A(1)=2,
A(3)=-5, A(4)=7

Ko‘phad qiymatini hisoblash formulasi

b0 = a0,
bi = ai + bi-1 * x
i=1,2,3,..,n

b(0) = a(0),
b(i) = a(i)+b(i–1)*x,
i=1,2,3,..,n

Ko‘phad qiymati

p(x)=bn

p(x)=b(n)

Gorner sxemasi asosida ko’phadning qiymatini hisoblash(1.9-masala).




C++ dagi dasturi


#include
using namespace std;
int n, x, a[10], b[10];
int main()
{
cout <<"Ko'phad tartibini kiriting n=?";
cin >> n;
cout <<"Argumentni kiriting x=? ";
cin >> x;
cout << "Ko'phad koeffitsentlarini kiriting: ";
for(int i = 0 ; i <= n ; i++)
{
cin >> a[i];
}
b[0] = a[0];
for(int i = 1 ; i < n+1 ; i++)
{
b[i] = a[i] + b[i-1]*x;
}
cout << "Ko'phad qiymati: p( 3 )= " << b[n];
}
[0.5, 2] kesmadagi ko‘phadning qiymatlarini Gorner usuli asosida hisoblash dasturini tuzamiz
C++ dagi dasturi


#include
using namespace std;
int n;
float a[10], b[10], p, x;
int main()
{
cout <<"Ko'phad tartibini kiriting n=? ";
cin >> n;
cout << "Ko'phad koeffitsentlarini kiriting: ";
for(int i = 0 ; i <= n ; i++)
{
cin >> a[i];
}
b[0] = a[0], x = 0.5;
while(x <= 2)
{
for(int i = 1 ; i <= n ; i++)
{
b[i] = a[i] + b[i-1]*x;
}
p = b[n];
cout <<"p("<
x += 0.25;
}
}
2. Gorner jadvalidan foydalanib Pn(x) ko‘phadning haqiqi ildizlarining yuqori chegaraiini topish mumkin.
Aytaylik x=β(β>0)da Gorner jadvalidagi barcha koeffisientlar manfiy bo‘lmasin, ya'ni
b0=a0 >0, b i ≥0 ( i=1,2,3,…,n)
bu holda Pn(x) ko‘phadning barcha xk haqiqi ildizlari β dan chap tomonda joylashgan bo‘ladi, ya'ani
xk β( k=1,2,3,…,m, m)
bo‘ladi.
Shuningdek berilgan Pn(x) ko‘phadning haqiqi ildizlarining quyi chegarasini topish uchun ko‘phad arguenti x ni - x bilan almashtirib, quyidagi ko‘phadni hosil hilamiz:

Bu ko‘phad uchun shunday x=h(h>0) ni topamizki, bunda Gorner jadvali bo‘yicha barcha koeffisientlar manfiymas bo‘lsin, hosil bo‘lgan ko‘phadning haqiqi ildizlari uchun
xk α (k=1,2,3,…,m )
tengsizlik o‘rinli bo‘ladi. Aslida bu berilgan Pn(x) ko‘phadning haqiqi ildizlarining quyi chegarasi bshladi: - α ≤ xk
Demak berilgan Pn(x) ko‘phadning barcha haqiqi ildizlari [- α, β] kesmada yotadi.
1.9.1-masala. Yuqorida keltirilgan 1.9-masaladagi
P3(x) = 3x3+2x2-5x+7
ko‘phadning barcha haqiqi ildizlari yotgan soha chegarasini topamiz.
Yechish. Gorner jadvalini tuzamiz. Argumentga x=1 qiymat beramiz:
3 2 -5 7
+ 3 5 0
--------------------------------------
1| 3 5 0 7= P3 (1)
Bunda x nig birinchi qadamidayoh manfiymas koeffisientlar aniqlandi bundan x=1 ko‘phadning barcha haqiqi ildizlarining yuqori chegarasi bo‘ladi.
Ko‘phad ildizlarining quyi chegarasini topish uchun quyidagi ko‘phadni tuzamiz:
(-1)3P3(-x) = -(3(-x)3+2(-x)2-5(-x)+7)= -(-3x3+2x2+5x+7)= 3x3-2x2-5x-7
hosil bo‘lgan ko‘phadning haqiqi ildizlarining yuqori chegarasini topish , ya'ni Gorner jadvali bo‘yicha musbat koeffisientlar aniqlash uchun argumentga 1 dan boshlab ketma-ket qiymatlar ho‘yib, Gorner jadvalini tuzamiz x=1 da:

Bunda b2=-4, b3=-11 manfiy bo‘lganligi uchun, argumentga yana qiymat beramiz, x=2 da:

Bunda b3= -1 manfiy bo‘lganligi uchun, argumentga yana qiymat beramiz, x=3 da:
3 - 2 -5 - 7
+ 9 21 48
--------------------------------------
3| 3 7 16 41= P3(3)
Demak, hosil bo‘lgan ko‘phadning haqiqi ildizlarining yuqori chegarasi x=3 bo‘ladi. Bundan berilgan ko‘phadning haqiqi ildizlarining quyi chegarasi x=-3 bo‘lib, barcha ildizlari yotgan kasma: [-3, 1]
Endi Gorner usuli berilgan Pn(x) ko‘phadning barcha haqiqi ildizlarining yuqori chegarasini topish dasturini tuzamiz. Buning uchun Pn(x) argumenti x ga 1 dan boshlab h=1 qadam bilan ketma-ket qiymat berish bilan, bulardan Gorner jadvali bo‘yicha Pn(x) ko‘phadning barcha manfiymas koeffisientlarini aniqlovchi x ni qiymatini topamiz. Masaladagi berilganlar asosida ko’rsatilgan usulda hisoblashning algoritmini 1.1.1-jadvalda beramiz :
1.1.1-jadval

Berilganlar

Belgilashlar

matn bo’yicha

dastur bo’yicha

Ko’phadning tartibi

N=4

INUT N

Ko’phadning haқiқi ildizlarining yuқori chegarasini aniqlash uchun argumentning birinchi qiymati

X=1

X=1

Ko’phadning koeffitsentlari

a0=3, a1=2, a3=-5, a4=7

A(0)=3, A(1)=2,
A(3)=-5, A(4)=7

Ko’phad qiymatini hisoblash formulasi

b0 = a0,
bi = ai + bi-1 * x
i=1,2,3,..,n

B(0) = A(0),
B(I) = A(I)+B(I–1)*X,
I=1,2,3,..,N

Nazorat savollari

  1. Algoritmlar turlarini ayting.

  2. Hisoblashda algoritmlarning o‘rni.

  3. Algoritmlar orqali yechiluvchi masalalar.

Download 58.31 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling