Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.96
CoVeReTeSS
3 / 3 / 3
Регистрация: 24.03.2011
Сообщений: 99
#1

Вычисление определителя матрицы N*N - C++

08.07.2011, 16:39. Просмотров 7868. Ответов 7
Метки нет (Все метки)

Дорогие форумчане, никто не подскажет как вычислить определитель квадратной матрицы, сам код не нужен, только алгоритм. Насколько я слышал есть два метода:
1) Через Гаусса
2) Через минор
Объясните мне если можно, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2011, 16:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычисление определителя матрицы N*N (C++):

Вычисление следа матрицы и определителя
воббщем надо реализовать вычисление следа матрицы и определителя алгоритм для...

Функция класса(вычисление определителя произвольной матрицы) работает не правильно(постоянно определитель 0)
void deterMatr(matr matrx) { if (matrx.rows == matrx.columns){ ...

Вычисление определителя
Здравствуйте, дорогие форумчане! Помогите, пожалуйста, отладить программу...

Вычисление определителя Методом Гаусса
Как сделать обмен строк в этом методе? #include <stdio.h> #include <conio.h>...

Нахождение определителя матрицы
Здравствуйте! Функция det правильно находит определитель для матрицы temp1, но...

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

7
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
08.07.2011, 16:53 #2
викижопия

Добавлено через 3 минуты
гауссом труднее написать. вот через минор алгоритм довольно простой
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.07.2011, 16:54 #3
Через Гаусса: С помощью элементарных преобразований (умножение строки на число и прибавление к другой строке, перестановка строк) приводим матрицу к верхнему треугольному виду. Тогда определитель матрицы - произведение элементов на главной диагонали полученной треугольной матрицы.
Через миноры: Определитель порядка n раскладывается на произведение определителей порядка (n-1) и и коэффициентов, которыми являются элементы строки (столбца), по которой(му) раскладывались миноры. Полученные определители (n-1)-го порядка считаются рекурсивно.
Подробнее смотрим на вики.

Добавлено через 57 секунд
co6ak, зато Гаусс итеративный, а минор - рекурсивный. Мне Гаусс всегда больше нравился, да и пишется не сложно.
1
CoVeReTeSS
3 / 3 / 3
Регистрация: 24.03.2011
Сообщений: 99
08.07.2011, 17:06  [ТС] #4
У Гаусса алгоритм такой же как и решение систем, я правильно понимаю, приведение к лестничному виду матрицы?
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.07.2011, 17:09 #5
CoVeReTeSS, да, я же написал, приведение к верхнему треугольному виду. При этом если две строки меняются местами, определитель меняет знак.
0
CoVeReTeSS
3 / 3 / 3
Регистрация: 24.03.2011
Сообщений: 99
08.07.2011, 17:15  [ТС] #6
Это правило я помню, хотя и учусь в школе, а так спасибо, попробую реализовать, может потом выложу.
0
Azazzelo
4 / 4 / 4
Регистрация: 14.11.2010
Сообщений: 31
08.07.2011, 17:34 #7
А метод треугольников не подходит? там по формуле типа:
|a11 a12 a13|
|a21 a22 a23| = a11∗a22∗a33+a12∗a23∗a31+a21∗a32∗a13−a13∗a22∗a31−a21∗a12∗a33−a23∗a32∗a11
|a31 a32 a33|
При переходе с главной на побочную диагональ знак меняется.
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.07.2011, 17:43 #8
Azazzelo, это только для треугольной матрицы. Вручную для матрицы порядка больше 3 обычно считают разложением на миноры вплоть до миноров третьего порядка, определители которых уже считают по приведённой формуле.
0
08.07.2011, 17:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2011, 17:43
Привет! Вот еще темы с решениями:

Нахождение определителя матрицы
Написать программу нахождения определителя матрицы

Нахождение детерминанта (определителя) матрицы
У меня вот код есть для нахождения детерминанта (определителя) матрицы 5х5 :)...

Считывание и запись определителя матрицы
в файле записан массив , его надо считать и найти его определитель, и записать...

Функции (Расчет определителя матрицы)
Задание: Ввести с клавиатуры матрицу 4*4 и подсчитать ее определитель....


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru