|
Patok talabasi Kamalova Rushananing
|
bet | 7/10 | Sana | 16.05.2024 | Hajmi | 0,7 Mb. | | #237305 |
2: fx:=x*x-x-1;
f1x:=2*x-1;
y:=fx/f1x;
n:=n+1;
x:=x-y; textcolor(13);
if abs(y)>eps then goto 2;
writeln(‘yaqinlashishlar soni n=’ ,n);
writeln(‘taqribiy ildiz x=’ ,x:3:4);
end.
Ushbu dasturni kompyuterga kiritib natijalar olinganda x2-x-1=0 tenglamaning x0=b=2,5 boshlangich nuqtadagi va =0,0001 aniqlikdagi ildizi х=1,6180 ekanligiga eshonch hosil qilish mumkin. Buni esa berilgan chizmadan ham ko’rish mumkin.
4.
|
Yechim joylashgan [a; b] oraliqni aniqlang vaoraliqni ikkiga bo’lish, vatarlar va urinmalar usuli bilan toping. E=0.001.
|
a) 2x3-x-5=0
b)
|
1-masala
1.Oraliqni ikkiga bo’lish usuli
#include
#include
using namespace std;
float funksiya(float x){
return 2*pow(x,3)-x-5;
}
int main() {
boshlanish:
float a, b, c;
cout << " a = ";cin >> a;
cout << " b = ";cin >> b;
if(funksiya(a)*funksiya(b) < 0){
yechim:
c = (a + b) / 2;
if(funksiya(a)*funksiya(c) < 0){
b = c;
}
if(funksiya(c)*funksiya(b) < 0){
a = c;
}
if(fabs(a - b) < 0.001){
cout << " Funksiya [" << a << ";" << b << "] oraliqda yechimga ega " << endl;
cout << " c = " << c << endl;
}
else {
goto yechim;
}
}
else{
cout << " yechimga ega emas" << endl;
cout << " a va b larni qaytadan kiriting:" << endl;
goto boshlanish;
}
return 0;}
2-Urinmalar usuli
#include
#include
using namespace std;
double func(double x)
{
return 2*pow(x,3)-x-5 ;
}
int main() {
double a, b, x, e;
cout << " e = "; cin >> e;
yechim:
cout << " a = "; cin >> a;
cout << " b = "; cin >> b;
if (func(a) * func(b) > 0.0f)
{
cout << " a va b larni qaytadan kiriting:" << endl;
goto yechim;
return -1; }
x = (a * func(b) - b * func(a)) / (func(b) - func(a));
while (abs(func(x)) > e) {
if (func(a) * func(x) < 0) {
x = (x * func(a) - a * func(x)) / (func(a) - func(x));
}
else {
x = (x * func(b) - b * func(x)) / (func(b) - func(x));
}
}
cout << " Yechim: x = " << x << endl;
int as;
cin >> as;
return 0;
}
3.Vatarlar usuli.
#include
#include
#define e 0.001
using namespace std;
double func(double x)
{
return 2*pow(x,3)-x-5;
}
double dfunc(double x)
{
return 6*pow(x,2)-1; // tepadigi funksiyani hosilasi yoziladi
}
void urinma(double x)
{
double h = func(x) / dfunc(x);
while (abs(h) >= e)
{
h = func(x)/dfunc(x);
// x(i+1) = x(i) - f(x) / f'(x)
x = x - h;
}
cout << " Tenglama ildizining qiymati: x = " << x;
}
int main()
{
double x0 = 1;
urinma(x0);
return 0; }
Aniq integralni hisoblashning asosiy formulasi
Oliy matematika kursidan malumki aniq integrallar asosan N‘yuton-Leybnits formulasi bilan hisoblanadi. Yani quyidagi formula bilan hisoblanadi:
Bu yerda F(x) funktsiya f(x) funktsiyaning boshlangich funktsiyasi. а-integralning quyi b-esa yuqori chegarsi. Nyuton–Leybnits formulasi bizga ma‘lumki elementar funktsiyalar uchun foydalanish qulayrok.
Lekin har qanday f(x) funktsiyaning boshlangich funktsiyasi elementar funktsiya bulavermaydi, yani integrallash murakkab bo’ladi. Bunday aniq integrallarni N‘yuton-Leybnits formulasi bilan hisoblab bulmaydi. Bunday hollarda integrallarni taqribiy hisoblash usularidan foydalanib integrallarning taqribiy kiymatlari topiladi.
|
| |