3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
1 | |
Решить систему алгебраических линейных неоднородных уравнени22.07.2011, 15:58. Показов 12972. Ответов 152
Метки нет (Все метки)
У меня есть система линейных уравнений. В ней 4000 уравнений.
Киньте плиз код для её решения. Желательно, чтобы он был максимально быстрым.
0
|
22.07.2011, 15:58 | |
Ответы с готовыми решениями:
152
Решить систему линейных алгебраических уравнений Методом Гаусса решить систему n линейных алгебраических уравнений Решить систему алгебраических уравнений методом Гаусса Решить систему линейных неравенств |
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
02.08.2011, 17:30 [ТС] | 42 |
да да, это я и имел ввиду.. сейчас постараюсь переписать код, который вот из такого вида (1;2)(2;3)..
делает нормальную матрицу, но уже с удаленным "плохим" столбцом и "плохой" строчкой.
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
02.08.2011, 17:41 [ТС] | 44 |
Я это учел в том коде...
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
04.08.2011, 11:58 [ТС] | 45 |
Что-то у меня небольшой косяк с кодом, который удаляет строку\столбец
0
|
Заблокирован
|
||||||
04.08.2011, 12:15 | 46 | |||||
Устал искать баг
Я пробовал функции которые предлагали там - они кривые Вот ковыряюсь в коде, введи число строк 4 или 5 и посмотри что почти довёл алгоритм до готовности. Работу над твоей СЛАУ я не окончил
2
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
||||||
04.08.2011, 12:28 [ТС] | 47 | |||||
))) как код то на мой вчерашний похож))) Вчера, к сожаления мало что написал, приболел.. но вот сегодня неплохо так устроил мозговой штурм
слушай, я тут подумал.. вот если встречаем нулевую строку\столбец.. может просто стоит удалить все целиком из массива? Вот что сегодня напоял:
Может лучше сразу удалять этот "перекресток" из массива...
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
||||||
04.08.2011, 13:49 [ТС] | 49 | |||||
Просто у меня пока что не рабочий код мальца... ковыряюсь в нем
Добавлено через 46 минут Можно например просто удалить вот так delete[] matrix[i]. Это строку/столбец не удалит - только освободит память, где она лежала. Но все указатели (и место в массиве под нее) останется. а при выводе можно делать так:
Вроде неплохая идея(это намного производительней, чем сдвигать строчки\столбцы), а вот реализация хромает.. падает прога
0
|
Заблокирован
|
|
04.08.2011, 13:59 | 50 |
поэтому я и использую memmove
Это идея, можно переадть в функцию решения СЛАУ индексы нулевых элементов и алгоритм просто не будет их принимать при вычислениях, наверное лучше так, потому что двигать в памяти матрицу размером 105 Мб весьма проблематично
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
04.08.2011, 14:06 [ТС] | 51 |
Прогресс)
Сейчас код подниму на ноги...
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
04.08.2011, 14:16 [ТС] | 53 |
На самом деле просто перекусил)
0
|
Higher
|
||||||
04.08.2011, 15:11 | 55 | |||||
Тоже заинтересовался этой темой..
Моя реализация алгоритма Гаусса-Жордана:
Алгоритм взят отсюда и немного исправлен.
0
|
Заблокирован
|
||||||
04.08.2011, 15:37 | 58 | |||||
Ну как по мне он почти ничем не отличается
Введением EPS мы можем что то выграть, но не факт
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
04.08.2011, 16:14 [ТС] | 59 |
Ну на самом же деле, алгоритм решения СЛУ методом Гаусса быстрее чем за О(n^3) решить не получиться. Но тем не менее, это неплохая скорость.
Вообще, если вести разговор о скорости выполнения алгоритма, то я где-то вычитал.. ах да - на википедии, что есть алгоритм "Копперсмита-Винограда", требующий времени О(n^2.375) Думаю, неплохо было бы найти и его.
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
04.08.2011, 17:09 | 60 |
hello19, там же в википедии написано, что этот алгоритм имеет очень большую константу пропорциональности, так что для реальных матриц он неэффективен. Ведь О(n^2.375) это не скорость.
0
|
04.08.2011, 17:09 | |
04.08.2011, 17:09 | |
Помогаю со студенческими работами здесь
60
Решить систему линейных уравнений вида Ax=b методом Зейделя Система линейных алгебраических уравнений Система линейных алгебраических уравнений Система линейных алгебраических уравнений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |