Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЧислМетодЛаб1

.pdf
Скачиваний:
8
Добавлен:
27.11.2022
Размер:
646.5 Кб
Скачать

11

x1[2, 0] = x2[2, 0]; } while (stop == false); break;

case 2:

acc = Math.Pow(10, -5);

Console.WriteLine("-12,5*x1 -0,18*x2 -7,49*x3 = -1,79"); Console.WriteLine("2,7*x1 -7,37*x2 + 0,66x3 = -5,89"); Console.WriteLine("0.41*x1 -8,87*x2 -10.54 * x3 = -2,21"); system = new double[3, 4] {

{-12.5, -0.18, -7.49, -1.79 },

{2.7, -7.37, 0.66, -5.89 },

{0.41, -8.87, -10.54, -2.21 } }; x1 = new double[3, 1] {

{system[0, 3] / system[0, 0] },

{system[1, 3] / system[1, 1] },

{system[2, 3] / system[2, 2] } };

do

{

step++;

double[,] x2 = new double[3, 1]; x2[0, 0] = x1task(x1[1, 0], x1[2, 0]); x2[1, 0] = x2task(x1[0, 0], x1[2, 0]); x2[2, 0] = x3task(x1[0, 0], x1[1, 0]);

if (Math.Abs((x2[0, 0] - x1[0, 0])) < acc || Math.Abs((x2[1, 0] -

x1[1, 0])) < acc || Math.Abs((x2[2, 0] - x1[2, 0])) < acc) stop = true;

x1[0, 0] = x2[0, 0]; x1[1, 0] = x2[1, 0]; x1[2, 0] = x2[2, 0];

} while (stop == false); break;

}

break; case 2:

Console.WriteLine("1 - test 2 - task"); switch (int.Parse(Console.ReadLine()))

{

case 1:

acc = Math.Pow(10, -2);

for (i = 0; i < n; i++)

{

B[i] = 0;

12

d[i] = 0;

for (j = 0; j < n; j++)

{

A[i, j] = 0;

}

}

A = new double[3, 3] {

{100, 2, 3 },

{1, 100, 3 },

{1, 2, 100 } };

B = new double[3] { 105 , 104, 103 };

for (i = 0; i < n; ++i)

{

for (j = 0; j < n; ++j)

{

Console.Write(A[i, j] + " ");

}

Console.WriteLine();

}

for (i = 0; i < n; ++i)

{

Console.WriteLine(B[i]);

}

do

{

for (i = 0; i < n; ++i)

{

step++;

d[i] = x1[i,0]; x1[i, 0] = B[i];

for (j = 0; j < n; ++j)

{

if (i != j)

{

x1[i, 0] -= A[i, j] * x1[j,0];

}

}

x1[i, 0] = x1[i, 0] / A[i, i];

13

d[i] = Math.Abs(d[i] - x1[i, 0]);

}

maxd = d[0];

for (i = 1; i < n; ++i)

{

if (d[i] > maxd)

{

maxd = d[i];

}

}

} while (maxd > acc);

break; case 2:

acc = Math.Pow(10, -2);

for (i = 0; i < n; i++)

{

B[i] = 0; d[i] = 0;

for (j = 0; j < n; j++)

{

A[i, j] = 0;

}

}

A = new double[3, 3] {

{-12.5, -0.18, -7.49},

{2.7, -7.37, 0.66},

{0.41, -8.87, -10.54} }; B = new double[3] {

-1.79 , -5.89, -2.21};

for (i = 0; i < n; ++i)

{

for (j = 0; j < n; ++j)

{

Console.Write(A[i, j] + " ");

}

Console.WriteLine();

}

for (i = 0; i < n; ++i)

14

{

Console.WriteLine(B[i]);

}

do

{

for (i = 0; i < n; ++i)

{

step++;

d[i] = x1[i, 0]; x1[i, 0] = B[i];

for (j = 0; j < n; ++j)

{

if (i != j)

{

x1[i, 0] -= A[i, j] * x1[j, 0];

}

}

x1[i, 0] = x1[i, 0] / A[i, i];

d[i] = Math.Abs(d[i] - x1[i, 0]);

}

maxd = d[0];

for (i = 1; i < n; ++i)

{

if (d[i] > maxd)

{

maxd = d[i];

}

}

} while (maxd > acc);

break;

}

break;

}

Console.WriteLine("x1,x2,x3: "); for (int h = 0; h < x1.Length; h++)

Console.WriteLine(" " + Math.Round(x1[h, 0], 4)); Console.WriteLine("iteration: " + step);

}

}

Соседние файлы в предмете Численные методы