OʻZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XOZAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Laboratoriya ishi 1
Mavzu : Chiziqli va tarmoqlanuvchi algoritmlar
Bajardi : 111-20 guruh talabasi
Jasurbek Xasanboyev
TOSHKENT 2022
Topshiriq 1
// To'g'ri to'rtburchaklar usuli
#include
using namespace std;
double Function(double x) {
return sin(x * x + x + 1) / (x * x * x + 5 * x + 1);
}
int main() {
double a = 0, b = 1, x, s = 0;
int n = 10;
double h = (b - a) / n;
for (int i = 1; i < n; i++) {
x = a + i * h + h / 2;
s += Function(x) * h;
}
cout << "\nIntegral = " << s << endl;
}
Natija :
Dastur kodi :
// Trapetsiyalar usuli
#include
using namespace std;
double Function(double x) {
return sin(x * x + x + 1) / (x * x * x + 5 * x + 1);
}
int main() {
double a = 0, b = 1, x, s = 0;
int n = 10;
double h = (b - a) / n;
for (int i = 1; i < n; i++) {
x = a + i * h;
s += Function(x);
}
double integral = (h / 2) * (Function(a) + Function(b) + 2 * s);
cout << "\nIntegral = " << integral << endl;
}
Natija :
Dastur kodi :
// Simpson usuli
#include
using namespace std;
double Function(double x) {
return sin(x * x + x + 1) / (x * x * x + 5 * x + 1);
}
int main() {
double a = 0, b = 1, x, s = 0, integral;
int n = 10;
double h = (b - a) / n;
for (int i = 1; i < n; i++) {
x = a + i * h;
if (i % 2 == 0) {
s += 2 * Function(x);
} else {
s += 4 * Function(x);
}
}
integral = (h / 3) * (Function(a) + Function(b) + s);
cout << "\nIntegral = " << integral << endl;
}
Natija :
Topshiriq 3
Masalaning berilishi.
Dastur kodi :
// Vatarlar
#include
using namespace std;
double Function(double x) {
return x * x + 4 * sin(x);
}
int main() {
double a = 0, b = 1, e = 0.001;
float xm, x0, c;
if (Function(a) * Function(b) > 0) {
cout << "Bu oraliqda ildizi yo'q";
return 0;
}
do {
x0 = (a * Function(b) - b * Function(a)) / (Function(b) - Function(a));
c = Function(a) * Function(x0);
a = b;
b = x0;
if (c == 0) break;
xm = (a * Function(b) - b * Function(a)) / (Function(b) - Function(a));
} while (fabs(xm - x0) >= e);
cout << setprecision(10) << fixed;
cout << x0;
}
Natija :
Dastur kodi :
// Nyuton(urunma)
#include
using namespace std;
double Function(double x) {
return x * x + 4 * sin(x);
}
double Function1(double x) {
return 2 * x + 4 * cos(x);
}
int main() {
double a = 0, b = 1, e = 0.001;
double h = Function(b) / Function1(b);
if (Function(a) * Function(b) > 0) {
cout << "Bu oraliqda ildizi yo'q";
return 0;
}
while (abs(h) >= e) {
h = Function(b) / Function1(b);
b = b - h;
}
cout << setprecision(10) << fixed;
cout << b;
}
Natija :
Grafikdan ko’rinib turibdiki x = 0 dan boshqa (0; 1) oraliqda yechimi yo’q
Do'stlaringiz bilan baham: |