Форум программистов, компьютерный форум CyberForum.ru

Ранг прямоугольной матрицы - C++

Восстановить пароль Регистрация
 
_fOrZe
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 12
03.07.2016, 21:06     Ранг прямоугольной матрицы #1
Ребят, может у кого завалялся какой-нибудь метод для нахождения ранга матрицы.Ибо все методы,которые гуглил, как-то криво работают.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2016, 21:06     Ранг прямоугольной матрицы
Посмотрите здесь:

Матрицы. Найти ее ранг и средние значения по столбцам (дописать код) C++
Ранг матрицы C++
Неправильно считается ранг матрицы C++
Определить ранг матрицы C++
C++ Ранг матрицы. Параметр функции
C++ Транспонирование прямоугольной матрицы
C++ Сортировка прямоугольной матрицы
Найти ранг матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NETClion
 Аватар для NETClion
5 / 4 / 2
Регистрация: 26.06.2016
Сообщений: 23
03.07.2016, 23:18     Ранг прямоугольной матрицы #2
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
60
61
62
63
64
65
66
67
68
69
70
71
/*************** Метод Гаусса Иордания для обратной матрицы ********************/
#include<iostream>
#include<conio.h>
 
using namespace std;
 
int main()
{
    int i, j, k, n;
    float a[10][10] = { 0 }, d;
    cout << "Нет уравнений ? ";
    cin >> n;
    cout << "Читать все коэффициенты матрицы с матрицей "b" тоже " << endl;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= n; j++)
            cin >> a[i][j];
 
    for (i = 1; i <= n; i++)
        for (j = 1; j <= 2 * n; j++)
            if (j == (i + n))
                a[i][j] = 1;
 
    /************** частичная поворотное **************/
    for (i = n; i > 1; i--)
    {
        if (a[i - 1][1] < a[i][1])
            for (j = 1; j <= n * 2; j++)
            {
                d = a[i][j];
                a[i][j] = a[i - 1][j];
                a[i - 1][j] = d;
            }
    }
    cout << "поворачиваются выход: " << endl;
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= n * 2; j++)
            cout << a[i][j] << "    ";
        cout << endl;
    }
    /********** сведение к диагональной матрице ***********/
 
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= n * 2; j++)
            if (j != i)
            {
                d = a[j][i] / a[i][i];
                for (k = 1; k <= n * 2; k++)
                    a[j][k] -= a[i][k] * d;
            }
    }
    /************** сведение к единичной матрице *************/
    for (i = 1; i <= n; i++)
    {
        d = a[i][i];
        for (j = 1; j <= n * 2; j++)
            a[i][j] = a[i][j] / d;
    }
 
    cout << "ваши решения: " << endl;
    for (i = 1; i <= n; i++)
    {
        for (j = n + 1; j <= n * 2; j++)
            cout << a[i][j] << "    ";
        cout << endl;
    }
 
    getch();
    return 0;
}
Добавлено через 3 минуты
Пример работы:

Нет уравнений ? 3
Читать все коэффициенты матрицы с матрицей "b" тоже
2 3 4
5 6 3
9 8 6

поворачиваются выход:
9 8 6 0 0 1
2 3 4 1 0 0
5 6 3 0 1 0

ваши решения:
-0.292683 -0.341463 0.365854
0.0731707 0.585366 -0.341463
0.341463 -0.268293 0.0731708
Yandex
Объявления
03.07.2016, 23:18     Ранг прямоугольной матрицы
Ответ Создать тему
Опции темы

Текущее время: 11:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru