2 мustaqil ta’lim ish hisoboti Fan “ Algoritmlarni loyihalash” Fan o’qituvchisi: Bobonazarov A. Talaba: Erbo’tayev F


Nazariy topshiriqlar: Quyidagi nazariy savollarga javob bering



Yüklə 293,97 Kb.
səhifə5/6
tarix22.05.2023
ölçüsü293,97 Kb.
#119500
1   2   3   4   5   6
algoritmlarni loyihalash 2- amaliy ish

Nazariy topshiriqlar: Quyidagi nazariy savollarga javob bering:
Har bir talaba quyidagi nazariy savollarning barchasiga javob beradi


2-savolga javob

Chiziqli algebraik tenglamalar tizimining yechimini taxminiy aniqlash uchun Gaussni yo'q qilish, LU parchalanishi va Gauss-Zaydel usuli kabi turli sonli usullardan foydalanish mumkin. Ushbu usullar tizimni taxminan hal qilishga yordam beradi.


Har bir usulning konvergentsiyasi shartlari har xil bo'lishi mumkin. Misol uchun, Gauss-Zaydel usulida, agar A matritsa diagonal dominant yoki simmetrik va musbat aniqlangan bo'lsa, konvergentsiya kafolatlanadi. Gauss eliminatsiyasi holatida, agar A matritsasi yagona bo'lmasa, tizim yagona yechimga ega bo'lishi kafolatlanadi.




3- savolga javob

Simpleks usuli chiziqli dasturlashda optimallashtirish masalalarini yechishda foydalaniladigan algoritmdir. Chiziqli dasturlashning kanonik shakli:


c1x1 + c2x2 + ... + cnxn maksimallashtirish


uchun mavzu:
a11x1 + a12x2 + ... + a1nxn ≤ b1
a21x1 + a22x2 + ... + a2nxn ≤ b2
...
am1x1 + am2x2 + ... + amnxn ≤ bm
x1, x2, ..., xn ≥ 0

Maqsad berilgan cheklovlarni qanoatlantirgan holda maqsad funksiyasini maksimallashtiruvchi x1, x2, ..., xn qiymatlarini topishdan iborat. Simpleks usuli - optimal yechimni izlashda bir qo'shni cho'qqidan ikkinchisiga o'tish orqali ushbu optimallashtirish muammosining mumkin bo'lgan hududini o'rganishning tizimli usuli. Algoritm dastlabki mumkin bo'lgan yechimdan boshlanadi va optimal yechim topilgunga qadar takroriy davom etadi.




3-Amaliy mashg’ulot topshiriqlari


Quyidagi transsendent tenglamani oraliqni teng ikkiga bo’lish va oddiy iteratsiya usuli yordamida yechimini aniqlovchi dastur tuzing:

Dastur kodi:
#include
using namespace std;
double f(double x)
{
return sin(x)/cos(x)*sqrt(x*x+3)+1/x*x=0}
int main()
{
double a,b,c,e;
cout<<"a va b sonlarni kiriting ";
cin>>a>>b;
cout<<"aniqlikni kiriting ";
cin>>e;
while (fabs(b-a)>=e)
{
c=(a+b)/2.0;
if (f(a)*f(c)<0)
b=c;
else
a=c;
}
c=(a+b)/2.0;
cout<<"x ning qiymati "<Yüklə 293,97 Kb.
Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin