2-ma’ruza.
Mavzu: Chiziqli algoritmlar. Sikllar. Integrallarni taqribiy hisoblash usullari, samaradorligi. Matrisalarni ko’paytirish. Determinantni hisoblash.
Reja
Takrorlanish operatorlari
Integrallarni taqribiy hisoblash algoritmlari
Matritsalarni ko’paytirish
(Kalit so’zlar: Sikllar, Integrallarni hisoblash, to’g’ri to’rtburchaklar usuli, trapetsiya usuli, Simpson usuli, matritsalarni ko’paytirish, determinantlar)
Integrallarni sonli yechish
Aniq integrallarning qiymatini taqribiy hisoblashning trapesiya va
Simpson formulalari yordamida sonli natijalar olish va dastur tuzish.
Quyidagi
integralni to’g’ri to’rtburchaklar formulasidan foydalanib taqribiy hisoblansin.
.
To’g’ri to’rtburchaklar formulasi. Bu formulani keltirib chiqarish uchun dastlab kesmani nuqtalar bilan n ta teng bo’lakka bo’lamiz.
Buning uchun integrallash kesmasini ta bo’lakka bo’lamiz va hisoblashlar natijalarini keltiramiz:
Bizning misolda bo’lgani uchun, to’g’ri to’rtburchaklar formulasiga asosan, quyidagi natijani hosil qilamiz.
X=0.1; =0.9901
X=0.2; =0.9615
X=0.3; =0.9174
X=0.4; =0.8621
X=1.0 =0.5000
7.5998
.
Dastur kodi
#include
#include
using namespace std;
double funk(double x)
{
return (1.0/(1+x*x));
}
int main()
{
double a,b,S=0, xa;
int n=10;
cout<<"integral chegarasini kiriting"<
cin>>a>>b;
xa=a+0.1;
while (xa
{
S+=funk(xa);
xa+=0.1;
}
S=S*fabs(b-a)/n;
cout << S;
return 0; }
2. integralni trapetsiyalar formulasi yordamida taqribiy hisoblang. Bunda ham
deb oling.
Yechish: va
bo’lgani uchun
Dastur kodi
#include
#include
using namespace std;
double funk(double x)
{
return (1.0/(1+x*x));
}
int main()
{
double a,b,S=0, xa;
int n=10;
cout<<"integral chegarasini kiriting"<
cin>>a>>b;
xa=a+0.1;
while (xa
{
S+=funk(xa);
xa+=0.1;
}
S=(a+b)/2+S;
S=S*fabs(b-a)/n;
cout << S;
return 0; }
3. integralni Simpson formulasi yordamida taqribiy hisoblansin. Bunda deb oling.
Topilgan bu qiymatlarni
Simpson formulasiga qo’yamiz:
Bizda bo’lgani uchun . Demak,
Matritsalarni ko’paytirish algoritmi
Matritsa-matritsani ko'paytirish muammosi munosabatlar bilan belgilanadi
.
masala.
Ikkita matritsa berilgan. Ularning ko’paytmasini toppish algoritmi va dasturini tuzing.
Dastur kodi.
#include
using namespace std;//ulchamlari bir xil bulgan matritsalar uchun
int main()
{
int a[10][10],b[10][10],c[10][10],r,d,i,j,k;
cout<<"satrlar soni=";
cin>>r;
cout<<"ustunlar soni=";
cin>>d;
cout<<"matritsa elementlarini kiriting=\n";
for(i=1;i<=r;i++)
{ for(j=1;j<=d;j++) {
cin>>a[i][j];} }
cout<<"ikkinchi matritsa elementlarini kiriting=\n";
for(i=1;i<=r;i++)
{ for(j=1;j<=d;j++)
cin>>b[i][j];}
for(i=1;i<=r;i++)
{ for(j=1;j<=d;j++)
{ c[i][j]=0;
for(k=1;k<=d;k++)
{
c[i][j]+=a[i][k]*b[k][j]; } } }
//natijani chop qilish
for(i=1;i<=r;i++)
{
for(j=1;j<=d;j++)
{
cout<
}
cout<<"\n";
}
return 0;
}
Bu algoritm O(n3) murakkablik bilan baholanadi. Chunki, algoritmda 3 ta ichma-ich sikl operatoridan foydalanilgan.
for(i=1;i<=r;i++)
{
for(j=1;j<=d;j++)
{
c[i][j]=0;
for(k=1;k<=d;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}
}
}
Mavzu yuzasidan savollar
Takrorlanish operatorlarini tushuntirib bering
Integralni to’g’ri to’rtburchaklar usulida taqribiy hisoblashni tushuntirib bering
Integralni to’g’ri trapetsiya usulida taqribiy hisoblashni tushuntirib bering
Integralni to’g’ri Simpson usulida taqribiy hisoblashni tushuntirib bering
Integralni taqribiy hisoblashni usullarini tahlil qiling
Matritsalarni ko’paytirish algorimtlarini tushuntirib bering
Do'stlaringiz bilan baham: |