Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
72 / 52 / 8
Регистрация: 13.11.2017
Сообщений: 383
1

Метод Гаусса-Зейделя для решения СЛАУ

03.11.2019, 02:48. Показов 8144. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана система СЛАУ, которая уже приведена к нормальному виду, то есть ничего преображать не нужно. Написал метод Зейделя таким вот образом. Неизвестные иксы находятся правильно, но я не уверен, правильно ли реализовал сам метод, подскажите, пожалуйста.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
class Matr
{
private:
    double eps = 0.001;
    static const int n = 4;
    double masA[n][n] = { { 0.05, -0.06, -0.12, 0.14 },
                  { 0.04, -0.12, 0.68, 0.11 },
                  { 0.34, 0.08, -0.06, 0.44 },
                  { 0.11, 0.12, 0, -0.03 } };
 
    double masB[n] = { -2.17, 1.4, -2.1, -0.8 };
    void Zeidel()
    {
        double x[n];       // решения n-ой итерации
        double x0[n];      // решения прошлой итерации
        double E[n];       // разница между соответствующими эл-ми
        double max = 0;    // для сравнения с eps
 
        for (int i = 0; i < n; i++)
       {
          x0[i] = masB[i]; // для нахождения первого приближения
        }
 
        int counter = 0;   // переменная для подсчёта итераций
 
        do
        {
            for (int i = 0; i < n; i++)   // цикл для нахождения неизвестных
            {
                x[i] = 0;                      
 
                for (int j = 0; j < n; j++)    
                {
                    x[i] += masA[i][j] * x0[j];     
                }
                x[i] += masB[i];    // прибавляем согласно формуле каждому x значение свободного члена
                E[i] = fabs(x[i] - x0[i]);  // разница между найденным и прошлым значением итерации
                x0[i] = x[i];    // присваивание значения переменной x[0]
            }
 
            max = 0;
            for (int i = 0; i < n; i++)
            {
                if (max < E[i])  // сравнение max и разницы
                    max = E[i];         // приравнение 
            }
            counter++;
        } while (max > eps);
 
        cout << endl << "Количество итераций: " << counter << endl << endl;
 
        cout << "Найденые иксы:" << endl;
        for (int i = 0; i < n; i++)
        cout << "x" << i + 1 << " = " << x[i] << " " << endl;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2019, 02:48
Ответы с готовыми решениями:

Метод Зейделя для решения слау
Пытаюсь реализовать метод Зейделя, подсмотрев реализацию в Википедии, написала функцию Itera(). Она...

Метод Зейделя для решения СЛАУ [Доработка кода]
Доброе утро народ. Мне нужна программа которая реализует Метод Зейделя для решения СЛАУ....

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++

Метод Гаусса для решения СЛАУ
Здравствуйте! У меня есть алгоритм решения СЛАУ методом Гаусса, но почему-то он не работает((( Я...

1
72 / 52 / 8
Регистрация: 13.11.2017
Сообщений: 383
03.11.2019, 12:17  [ТС] 2
Знаю, что есть очень много примеров решений, но мне интересно, правильно ли я сделал здесь.
0
03.11.2019, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2019, 12:17
Помогаю со студенческими работами здесь

Метод Гаусса для решения СЛАУ
Добрый день! Реализовал метод Гаусса для решения СЛАУ. Но проблема с получением ответа. Второй и...

Метод Гаусса для решения СЛАУ с использованием одномерного массива
Доброго всем времени суток. У меня есть прога для двумерного массива #include &lt;stdio.h&gt;...

Написать программу, реализующую метод Гаусса для решения СЛАУ с постолбцовым выбором главного элемента
Добрый день. Очень прошу вас помочь мне с программой для лабораторной. Программа должна : -...

Метод Гаусса (подстановки) решения СЛАУ
Всем доброго времени суток, написал я одну недопрограмму, потому как сделал её наполовину. Не...

Метод Гаусса решения СЛАУ с полным выбором. C++
Написал код реализующий метод Гаусса с полным выбором ведущего элемента, но ответ выдает не...

Написание программы для решения СЛАУ методом Зейделя
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru