|
Float a = -10, b = 10; // oraliq qiymatlari
|
Sana | 15.05.2024 | Hajmi | 1,32 Mb. | | #234106 |
Bog'liq alagoritm
O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Algoritmlarni loyihalash
Fanidan 1-amaliy ish
Bajardi: CAL017-2-guruh talabasi
Qo’zibayev Jamshid
Tekshirdi: Ravshanov Shohjaxon Akmaljon o‘g‘li
N=14-variant
Tenglamani hosil qiling:
n1=(N%3)+1=3 , n2=(N%5)+1=5, n3=(N/7+1)=3
X^3+2*X^2-5*X-2=0
Tenglamaning yechim oralig’ini toping. Oraliqni 2ga bo’lish usuli yordamida ildizlarni e=10-5 aniqlik bilan hisoblash algoritmini tuzing. Bunday aniqllika erishish uchun zarur qadamlar sonini aniqlang.
Yechim:
#include
#include
using namespace std;
float f(float x) {
return pow(x,3) - 2*pow(x,5) - 2*x - 3;
}
int main() {
float a = -10, b = 10; // oraliq qiymatlari
float e = 1e-5; // aniqlik
int i = 0; // qadamlar soni
if (f(a) * f(b) < 0) {
while (fabs(a - b) > e) {
float x = (a + b) / 2; // ildizni hisoblash
if (f(a) * f(x) < 0)
b = x;
else
a = x;
i++;
}
cout << "Yechim oraliqi: [" << a << ", " << b << "]" << endl;
cout << "Zarur qadamlar soni: " << i << endl;
} else {
cout << "Bu oraliqda yechim mavjud emas" << endl;
}
Ushbu masalani Nyuton usuli orqali yechis algoritmini yozing. Ikkala usulda ham yechimlarni oling. Ko’ring chiqilgan usullar samaradorligini taqqorlang. Yechim:
#include
#include
using namespace std;
float f(float x) {
return pow(x,3) - 2*pow(x,5) - 2*x - 3;
}
// Birinchi turlash
float f_prim(float x) {
return 3*pow(x,2) - 10*x*x - 2;
}
int main() {
float x0 = 0; // Boshlang'ich taxmin
float e = 1e-5; // Aniqlik
int max_iter = 100; // Eng ko'p iteratsiya soni
int iter = 0;
float x1, h;
do {
// Nyutonning formulasi: x1 = x0 - f(x0) / f'(x0)
x1 = x0 - f(x0) / f_prim(x0);
h = fabs(x1 - x0);
x0 = x1;
iter++;
} while (h > e && iter < max_iter);
if (iter == max_iter) {
cout << "Konvergensiya aniqlik miqdori bilan amalga oshmadi.\n";
} else {
cout << "Tenglaman yechimi: " << x1 << endl;
}
return 0;
}
CHDM ni simpleks usulida hisoblang. Topilgan yechimlardan iqtisodiy tahlil o’tkazing. Tegishli matematik modelni ishlab chiqarishni takomillashtirish bo’yicha tavsiyalarni shakllantiring.
3.Chiziqli dasturlash masalasini hosil qiling:
Geometrik usulda mavjud bo’lgan yechimlar sohasini toping. Tayanach yechimlarni aniqlang. Optimal yechimni toping.
Egizak masalani shakllantiring va u uchun CHDM tuzib, tayanch yechimlarni aniqlang. Shuningdek geometrik usulda optimal yechimni toping
Yechim:
|
| |