Kirish hajmiga bog'liq bo'lmagan qiymat bilan cheklangan. Masalan, massivda bitta elementni olish doimiy vaqtni oladi, chunki uni topish uchun bitta buyruq bajariladi


Quyidagi transsendent tenglamani Nyuton va Vatarlar usuli yordamida yechimini aniqlovchi dastur tuzing


Download 1.5 Mb.
bet5/5
Sana18.06.2023
Hajmi1.5 Mb.
#1567262
1   2   3   4   5
Bog'liq
3-MI AL

Quyidagi transsendent tenglamani Nyuton va Vatarlar usuli yordamida yechimini aniqlovchi dastur tuzing:
x(x+1)2=2
Dastur kodi: #include
#include

double f(double x) {


return x * pow(x + 1, 2) - 2;
}

double df(double x) {


return 3 * pow(x, 2) + 4 * x + 1;
}

double solveEquationNewtonRaphson(double x0, double epsilon, int maxIterations) {


double x = x0;
int iterations = 0;
double error = std::numeric_limits::max();

while (error >= epsilon && iterations < maxIterations) {


double dx = f(x) / df(x);
x = x - dx;
error = std::abs(dx);
iterations++;
}

return x;


}

double solveEquationSecant(double x0, double x1, double epsilon, int maxIterations) {


double x2;
int iterations = 0;
double error = std::numeric_limits::max();

while (error >= epsilon && iterations < maxIterations) {


x2 = x1 - f(x1) * (x1 - x0) / (f(x1) - f(x0));
error = std::abs(x2 - x1);
x0 = x1;
x1 = x2;
iterations++;
}

return x2;


}

int main() {


double x0, x1, epsilon;
int maxIterations;

std::cout << "Dastlabki taxminni x0 kiriting: ";


std::cin >> x0;

std::cout << "Kerakli aniqlikni kiriting (epsilon): ";


std::cin >> epsilon;

std::cout << "Maksimal takrorlash sonini kiriting: ";


std::cin >> maxIterations;

double solutionNewtonRaphson = solveEquationNewtonRaphson(x0, epsilon, maxIterations);


double solutionSecant = solveEquationSecant(x0, x0 + 0.01, epsilon, maxIterations);

std::cout << "Nyuton-Rafson usuli yordamida taxminiy yechim: " << solutionNewtonRaphson << std::endl;


std::cout << "Sekant usuli yordamida taxminiy yechim: " << solutionSecant << std::endl;

return 0;


}



Algoritm murakkabligini static va dinamik o’lchovlari.

Download 1.5 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling