Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
.NET 4.x

Алгоритм получения обратной матрицы.

13.05.2011, 20:06. Показов 3408. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите получить обратную матрицу. Мучаюсь и не как не могу получить
Навоял вот такой алгоритм но кажется что он врёт...
Посчитав в ручную матрицу
Матрица

1.....5.....5.....4.....4
7.....5.....1.....4.....7
2.....2....65....7.....8
4.....2.....6.....8.....1
2.....3.....8.....7.....8
получил
-0.12.....0.15.....0.01.....0.05.....-0.09
0.28......0.01.....-0.......-0.02.....-0.15
0...........0.........0.02.......-0.....-0.02
-0.......-0.08.....-0.02.....0.12.....0.08
-0.08.....0.03.....-0.......-0.11.....0.15

А прога выдала.....
Результат проги

1.....-95.......-95........-76........-76
0.....-16.......-3,4.......-13,6.....-23,8
0.....-2,46.....-79.......-8,61.....-9,846
0.....-2,25.....-6,75.....-8.........-1,125
0.......0..........0...........0........ ...1

Алгоритм получения обратной матрицы.
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
 double l = 1;
        double[,] x;
        private void button7_Click(object sender, EventArgs e)
        {
            int n = dataGridView1.ColumnCount;
            double[,] z = matric.Edinicnai(n);//пихаем единичную матрицу
            x = matric.Read(dataGridView1);//считываю матрицу
            for (int j = 0; j < (n - 1); j++)
            {
                for (int k = 1; k < n; k++)
                {
                    l = x[j, k] / x[j, j];
 
                    for (int i = j; i < n; i++)
                    {
                        z[j, k] = z[j, k] - (x[j, i] * l);
                    }
 
                }
            }
 
            //Приведение к диагональному виду исходной единичной матриц - получение на месте исходной матрицы единичную, а на месте единичной - обратную к исходной
 
            for (int j = n - 1; j > 0; j--)
            {
                for (int k = n - 2; k > 1; k--)
                {
                    l = x[j, k] / x[j, j];
 
                    for (int i = j; i < n; i++)
                    {
                        x[j, k] = x[j, k] - (x[j, i] * l);
                    }
                }
            }
 
            matric.Print_Matr(z, dataGridView2);
        }
Последний раз редактировалось Петррр; Сегодня в 22:08. Причина: Форум не для шуток.

Не по теме:

А я и не шучу... Просто привычка обозначать в темах на каком языке...


 Комментарий модератора 
Я отредактировал сообщение, потому что у Вас было написано: "матрицо". Не знаю какой вы национальности, но официальный язык сайта русский.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2011, 20:06
Ответы с готовыми решениями:

Не работает алгоритм нахождения обратной матрицы
Делаю winforms приложение которая шифрует методом Хилла. Все алгоритмы сначала сделал в консольке и все работает, проверял несколько раз на...

Реализовать алгоритм нахождения обратной матрицы методом Гаусса
Прошу помощи, так как сам уже даже и не знаю. Нужно реализовать алгоритм нахождения обратной матрицы методом Гаусса Вот мой класс: ...

Алгоритм получения значения из таблицы
Здравствуйте. Есть таблица значений, сверху расположена температура, слева плотность, то есть нужно выбрать значение в зависимости от...

4
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
13.05.2011, 20:11
Kill100, зачем выкладывать на форум код математических действий (а здесь только алгоритмы и математика) и просить их найти ошибку?
возьми отладчик...найди то место где у тебя начинается расхождение с ручным просчетом...попытайся исправить...а вот если не получится - тогда милости просим...выкладываешь код, указываешь точные строки где начинается косяк и мы всей нашей дружной братией пытаемся понять, в чем там ошибка...

заметил разницу? либо ковыряться в чужом коде и алгоритме...либо пытаться понять в чем ошибка когда человек точно объясняет чего хочет и где у него падает...
0
 Аватар для Kill100
434 / 299 / 82
Регистрация: 11.12.2010
Сообщений: 1,209
13.05.2011, 20:13  [ТС]
Да блин я уже ковырялся..
А отладчиком пользоваться не умею
И в универе не учили Вот хз где ошибка расходится (
Уже раза 2 перелопатил так не вижу..
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
13.05.2011, 20:20
Через F9 ставим точку останова, через F11 трассируем.
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
13.05.2011, 23:34
Цитата Сообщение от Kill100 Посмотреть сообщение
А отладчиком пользоваться не умею
И в универе не учили Вот хз где ошибка расходится (
может поможет?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2011, 23:34
Помогаю со студенческими работами здесь

Вычислить матрицу обратную заданной и найти произведение обратной матрицы и исходной матрицы
Вычислить обратную матрицу заданной и найти произведение обратной матрицы исходной матрицы . Сравнить результат произведения с единичной...

Подскажите метод нахождения обратной матрицы и определителя матрицы
Подскажите метод нахождения обратной матрицы и определителя матрицы на С#

Составить алгоритм для получения зависимости W от m при значениях v, изменяющихся от v1 до v2 с шагом dv
Кинетическая энергия движущегося тела W=m*v2/2, где m - масса тела, v - его скорость. Составить алгоритм для получения зависимости W от m...

Составить подпрограмму для получения обратной матрицы
В общем суть проблемы: нарыл эту программку, но она не работает... в самом начале в строке &quot; TMatrix=array of extended;&quot; выдает:...

Алгоритм нахождения обратной матрицы
Доброго вечера У кого-нибудь есть алгоритм нахождения обратной матрицы? Препод требует, и его не устраивает внутренняя функция A^-1 ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru