С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/33: Рейтинг темы: голосов - 33, средняя оценка - 4.88
MDamien

Нахождение определителя матрицы крупных размеров

23.09.2010, 19:47. Показов 6043. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. При написании приложения столкнулся с проблемой нахождения определителя матрицы NxN, где N=>80 . Для небольших матриц написал пару функций, приведённых ниже, но при N>10 возникает переполнение памяти. Задача заключается в нахождении обратной матрицы, может существуют библиотеки для вычисления обратной матрицы неограниченного размера? Буду безумно рад, если кто-нибудь подскажет метод решения данной проблемы.
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
//Нахождение определителя матрицы
float det(int N,float** A){ // N-размерность матрицы, A-собственно матрица
  float sum=0;
  if(N!=2)
    for(int i=0;i<N;i++){ //Разложение по первой строке
      sum+=pow((-1),(i+2))*A[0][i]*det(N-1,minor(0,i,N,A));
    }
   else
     sum=A[0][0]*A[N-1][N-1]-A[N-1][0]*A[0][N-1];
  return sum;
}
//Минор матрицы
float** minor(int z,int x,int N, float** A){
  float **C = new float*[N-1];
  for(int i=0;i<N-1;i++)
    C[i]=new float[N-1];
  for(int h=0,i=0; i<N-1;i++,h++){
    if(i==z) h++;
    for(int k=0,j=0;j<N-1;j++,k++){
      if(k==x) k++;
      C[i][j]=A[h][k];
    }
  }
  return C;
}
Пытался привинтить библиотеки МATLABа -ничего не вышло. Видимо из-за длинны строк в файлах библиотек.
Поскольку приходится работать с приложением MS Excel, вычислял определитель матрицы на страницах, но из-за большого количества матриц(до пятиста) и медленной скорости импорта-экспорта через Ole вычисления займут пару лет=)
Медленно схожу с ума.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2010, 19:47
Ответы с готовыми решениями:

Нахождение определителя матрицы
Доброго времени суток!!! Помогите, не могу написать программу нахождения определителя, следующим методом: - обнулить элементы,...

Нахождение определителя матрицы методом "Звездочки" (он же метод треугольников, правило Саррюса)
привет, всем активным участникам форума. помогите, пожалуйста, написать программу на С++. Задание: нужно написать программу, которая...

Нахождение определителя методом Гаусса
Нужна помощь. Конкретно с алгоритмом. Что неправильно? #include &lt;vcl.h&gt; #include&lt;io.h&gt; #pragma hdrstop #include...

4
0 / 0 / 0
Регистрация: 25.09.2010
Сообщений: 6
25.09.2010, 12:50
Для нахождения определителя матрицы любого размера, надо перевести ее к верхнему треугольному виду. После этого детерминант матрицы равен произведению всех элементов на диагонали.
0
MDamien
13.10.2010, 23:32
Artjom, спасибо за совет=) Я подключил спец библиотеку и всё заработало. К сожалению не было времени на изменение алгоритма, поэтому пришлось использовать готовое.
0 / 0 / 0
Регистрация: 28.07.2015
Сообщений: 3
28.07.2015, 13:44
То в какой среде написано?
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
28.07.2015, 21:21
20андрей15, что написано? Если код с первого поста, то ни в какой, это обычный си, плюс stl.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2015, 21:21
Помогаю со студенческими работами здесь

Ошибки в программе вычисления определителя матрицы методом Гаусса
В программе возникли такие ошибки: Unresolved external '__fastcall Designeditors::TPropertyEditor::~TPropertyEditor()' referenced from...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru