Метод простых итераций С++
Как сделать код чтобы она решала систему нелинейных уравнений с двумя переменными методом простых итераций
Это нужно реализовать это так чтобы пользователь вводил к-во итераций, точность, и начальное приближение.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Немного преобразуем систему, выразив y из второго уравнения и подставив в первое. Дальше все просто.
int main(int argc, const char * argv[])
{
const double eps = 1e-8;
double y = 1, x = 1;
while(true)
{
double xx = x, yy = y;
x = sqrt(34-15/x/x);
y = 15/x;
if (abs(xx-x)< eps && abs(yy-y)< eps) break;
}
cout << "x = " << x << ", y = " << y << endl;
}
На самом деле решений 4, но, понятно, что процесс сходится только к одному решению (не может же он одновременно сходиться к четырем :))
В силу симметрии из решения (x,y) получаются решения (y,x), (-x,-y) и (-y,-x)...