3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
1 | |
Решить систему алгебраических линейных неоднородных уравнени22.07.2011, 15:58. Показов 12974. Ответов 152
Метки нет (Все метки)
У меня есть система линейных уравнений. В ней 4000 уравнений.
Киньте плиз код для её решения. Желательно, чтобы он был максимально быстрым.
0
|
22.07.2011, 15:58 | |
Ответы с готовыми решениями:
152
Решить систему линейных алгебраических уравнений Методом Гаусса решить систему n линейных алгебраических уравнений Решить систему алгебраических уравнений методом Гаусса Решить систему линейных неравенств |
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 16:56 [ТС] | 122 |
Что касается быстроты, то меньше 5 секунд все это дело заняло...
Осталось разобраться кто прав)) Добавлено через 18 секунд Хотя пивас с меня будет))))
0
|
Заблокирован
|
|||||||||||
08.08.2011, 16:59 | 123 | ||||||||||
На свежую голову вечером подумаю, главное что алгоритм вышел довольно быстрым и уже есть норм результаты, я подозреваю что огрех может быть сдесь
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 17:09 [ТС] | 124 |
Пожалуй надо будет разобраться в твоем алгоритме... пока что не сильно понятно что там и как...
удивительно как быстро работает на scilab весь процесс (считывание матрицы, столбца, решение, вывод в файл) занял около 200 секунд, а тут 1-2 раза маргнуть успел... Добавлено через 7 минут Слушай, а ты не смотрел в inpA присутствуют все диагональные элементы? (даже не важно нулевые или нет)
0
|
Заблокирован
|
|
08.08.2011, 17:14 | 125 |
Позже коменты напишу в срр-шнике, быстрота потому что нужно было написать быстрый алгоритм вот и пришлось изголятьсяВобще любая CAD-система работает не столь прямолинейно как наше приложение, юзаются продвинутые алгоритмы решения - они хоть и дают решение в любом случае, но требуют гораздо дольше времени на вычисления...Пришли ответы из scilab, мне охота погрешности сравнить, ведь я сравнивал Е = А*Х - В по сути нашёл абсолютную погрешность, а чтобы относительную получить нужно Е[i] / B[i] как то об этом, только сейчас подумал
Добавлено через 2 минуты Это твоя исходная матрица, как говориться что дал с тем и я решалНолей на диагоналях по моим подсчётам там всего 3 А то что не все первые элементы имеют возрастающий индекс, не говорит о том что этого индекса нет в какой-нибудь строке, ты понял о чём я?
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 17:18 [ТС] | 126 |
Про индекс я понял... просто интересно все ли диагональные элементы затронуты в каждой строчке..
Хотя это вообщем то не нужно.
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 17:33 [ТС] | 128 |
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
08.08.2011, 17:34 | 129 |
hello19, а сообщение я для кого указываю? Какой там порядок матрицы?
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 17:35 [ТС] | 131 |
to Юра: А вот то, что scilab нарешал. Я кинул на вход матрицу порядка 3638.
Могу в принципе кинуть еще и без нулевых элементов... там не сильно результаты отличаются
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
08.08.2011, 17:40 | 133 |
Мне не интересна эта программа. Я не пытался сравнивать её с scilab'ом. Успокойся.
Если он решал эту систему 200 секунд, то я, конечно, во что угодно поверю. Но если правильно использовать инструмент, то эта система scilab'ом решается верно и практически мгновенно. Добавлено через 1 минуту Да да. В начале ветки обсуждения я видел.
0
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 17:47 [ТС] | 135 |
Я согласен что равны. А ты подсчитай руками))) такой косяк)) у меня со scilab тот же косяк...
Там должны не 46 а что то около 200 стоять.. to grizlik78: Слушай, а как ты решаешь систему? вот я например вот так x = linsolve (a,-b);
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
08.08.2011, 17:51 | 136 |
Хорошо, сейчас в соответствующем разделе покажу. А пока вот вам правильное решение, полученное в scilab. Когда программа будет давать что-то похожее, можно будет на неё и посмотреть
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 17:54 [ТС] | 137 |
гризлик, ты результат то видел в каком виде выдаешь)))
забавная змейка)) покажи свой код, как ты решение само делаешь?
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
08.08.2011, 17:57 | 138 |
Открой в нормальном редакторе. Это из-за того, что в линуксе переносы строки кодируются не так, как в Windows. Я, конечно, могу перекодировать, но надеюсь ты и сам осилишь.
Чуточку терпения, говорю же, в соответствующем разделе сейчас выложу.
1
|
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
|
|
08.08.2011, 18:13 [ТС] | 139 |
просто скажи чем ты пользовался непосредственно для решения системы? linsolve?
Добавлено через 13 минут Гризлик, твое решение очень похоже на правильное)
0
|
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
|
|
08.08.2011, 18:16 | 140 |
Нет, конечно же. Я сразу сказал, что нужно использовать разреженные матрицы. исползовался lusolve, посмотреть можно здесь.
Добавлено через 1 минуту Ну по-крайней мере умножение A на x даёт b с очень небольшими погрешностями. Я смотрел.
1
|
08.08.2011, 18:16 | |
08.08.2011, 18:16 | |
Помогаю со студенческими работами здесь
140
Решить систему линейных уравнений вида Ax=b методом Зейделя Система линейных алгебраических уравнений Система линейных алгебраических уравнений Система линейных алгебраических уравнений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |