Не могу преобразовать систему уравнений для решения методом итераций
Метод итераций изучил, но система уравнений не подходит, не знаю что нужно делать с ней, помогите пожалуйста) Необходимая точность 0.001. Необходимо решить на языке C# или C++
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Почему не походит? Вполне симпатичная система...
#include <iostream>
using namespace std;
void f(double&x1,double&x2,double&x3,double&x4)
{
x1 = 0.32*x1 - 0.18*x2 + 0.02*x3 + 0.21*x4 + 1.83;
x2 = 0.16*x1 + 0.12*x2 - 0.14*x3 + 0.27*x4 - 0.65;
x3 = 0.37*x1 + 0.27*x2 - 0.02*x3 - 0.24*x4 + 2.23;
x4 = 0.12*x1 + 0.21*x2 - 0.18*x3 + 0.25*x4 - 1.13;
}
int main()
{
const double eps = 0.001;
double x1 = 0, x2 = 0, x3 = 0, x4 = 0, y1 = 1, y2 = 1, y3 = 1, y4 = 1;
for(;abs(x1-y1) > eps || abs(x2-y2) > eps || abs(x3-y3) > eps || abs(x4-y4) > eps;)
{
y1 = x1; y2 = x2; y3 = x3; y4 = x4;
cout << setw(10) << x1 << setw(10) << x2 << setw(10) << x3 << setw(10) << x4 << endl;
f(x1,x2,x3,x4);
}
}
