Форум программистов, компьютерный форум CyberForum.ru

Решить систему алгебраических линейных неоднородных уравнени - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 70, средняя оценка - 4.66
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
22.07.2011, 15:58     Решить систему алгебраических линейных неоднородных уравнени #1
У меня есть система линейных уравнений. В ней 4000 уравнений.
Киньте плиз код для её решения. Желательно, чтобы он был максимально быстрым.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:18  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #141
Кстати, ты время не засекал? просто даже интересно сколько будет работать....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
08.08.2011, 18:20     Решить систему алгебраических линейных неоднородных уравнени #142
Цитата Сообщение от hello19 Посмотреть сообщение
Кстати, ты время не засекал? просто даже интересно сколько будет работать....
Это не так-то просто, весь скрипт отрабатывает за доли секунды.
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:21  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #143
to Юра: вот на всякий случай решение системы... я тут проверил - оно неплохо подходит.
Вложения
Тип файла: rar решение.rar (9.1 Кб, 17 просмотров)
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:24  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #144
Цитата Сообщение от grizlik78 Посмотреть сообщение
Это не так-то просто, весь скрипт отрабатывает за доли секунды.
Разработчики позаботились об этом)
Всего то надо сделать так:
если ты хочешь посмотреть, сколько времени работает конкретной кусок кода в scilsb, то нужно просто написать так:
timer();
// кусок кода, время работы которого ты хочешь узнать
timer()
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
08.08.2011, 18:29     Решить систему алгебраических линейных неоднородных уравнени #145
Цитата Сообщение от hello19 Посмотреть сообщение
Разработчики позаботились об этом)
Ну хорошо, весь скрипт, с загрузкой и выгрузкой 0,2 с.
Само решение без ввода-вывода и проверки 0,03-0,07 с.
scilab 5.1.1, линукс, x86_64, C2D E6600
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:31  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #146
ОК. Завтра протестю на винде. У меня scilsb 5.3.3
-=ЮрА=-
Заблокирован
Автор FAQ
09.08.2011, 09:48     Решить систему алгебраических линейных неоднородных уравнени #147
Я проверил ваши решения, по вот такому алгоритму
C++
1
2
3
4
5
6
7
8
9
printf("\r\n\tCHECK RESULTS A*X - B BEGIN\r\n");
        for(i = 0; i < m; i++)
        {
            E[i] = 0;
            for(r = 0; r < m; r++)
                E[i] += A[i][r]*X[r];
            E[i] -= B[i];
        }
        printf("CHECK RESULTS DONE\r\n");
Цитата Сообщение от hello19 Посмотреть сообщение
to Юра: вот на всякий случай решение системы... я тут проверил - оно неплохо подходит.
Цитата Сообщение от grizlik78 Посмотреть сообщение
Хорошо, сейчас в соответствующем разделе покажу. А пока вот вам правильное решение, полученное в scilab. Когда программа будет давать что-то похожее, можно будет на неё и посмотреть
- привожу для анализа векторы погрешностей scilab.
Как вы видите все алгоритмы дают погрешность, причём число нулей в векторе погрешностей при решении методом Гаусса, не меньше чем при решении scilab. Также выкладываю исходники алгоритма проверки, не забывайте что для скилаба юзаете полную матрицу А в то время как я удаляю строки и столбцы с нулевыми элементы на главной диагонали, поэтому при запросе на сжатие матрицы вы должны нажать N и У для моего вектора Х.
PS:В заключение скажу что не стоит полностью уповать на решения CAD-систем, ещё по универу помню косяки маткада при решении диффуров...
Миниатюры
Решить систему алгебраических линейных неоднородных уравнени  
Вложения
Тип файла: rar check_results.rar (63.4 Кб, 7 просмотров)
Тип файла: rar ERR.rar (17.8 Кб, 6 просмотров)
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
09.08.2011, 10:31  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #148
Сейчас посмотрим что и как...

Добавлено через 6 минут
Что же касается точности матпакета, тот тут полностью с тобой согласен. Сам как-то неплохо так влетел из-за него. В этом то и преимущество программы, написанной тобой - можно "пощупать" любой кусок кода и настроить его под себя.

Добавлено через 5 минут
Опа! Юр, нашел..ну не то чтобы косяк... просто ты считываешь вектор В без какой-либо предварительной подготовки. так?
Прости, просто когда кидал тебе, там короче запятые есть.. мой косяк.
Сейчас посмотимр какие результаты выдаст на "нормальном" столбце.

Добавлено через 18 секунд
Ну чтож.. результаты то и не сильно отличаются
-=ЮрА=-
Заблокирован
Автор FAQ
09.08.2011, 10:40     Решить систему алгебраических линейных неоднородных уравнени #149
Цитата Сообщение от hello19 Посмотреть сообщение
Что же касается точности матпакета, тот тут полностью с тобой согласен. Сам как-то неплохо так влетел из-за него.
-Полностью согласен, всё же я за метод Гаусса, т.к. этот код уже проверен в течении 7 лет, как его написал, на СЛАУ небольшого порядка ни разу косо не считал
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
09.08.2011, 10:48  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #150
Сейчас понять где прога косячит и, тогда ей цены не будет.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
09.08.2011, 12:06     Решить систему алгебраических линейных неоднородных уравнени #151
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
PS:В заключение скажу что не стоит полностью уповать на решения CAD-систем, ещё по универу помню косяки маткада при решении диффуров...
Ошибки бывают везде. Естественно, каким бы не был путь получения решения, надо уметь проверить результат и обязательно делать это, даже если программа/метод раньше работали безотказно.

Я ни в коем случае не осуждаю создание своей программы, сам нередко делаю это. Моё участие здесь обусловлено лишь тем, что было явно видно, что scilab используется неэффективно для решения конкретно этой задачи.
-=ЮрА=-
Заблокирован
Автор FAQ
09.08.2011, 13:21     Решить систему алгебраических линейных неоднородных уравнени #152
Цитата Сообщение от hello19 Посмотреть сообщение
Сейчас понять где прога косячит и, тогда ей цены не будет.
Работаю над этим, подумываю выгрузить в файл А и В после сжатия и сравнить с исходными, метод Гаусса там реализован верно, по сему заключаю что всё же ошибка возникает до расчёта, на этапе формирования А или её сжатия, матрица нууу очень большая поэтому баги сложно выявить...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2011, 16:53     Решить систему алгебраических линейных неоднородных уравнени
Еще ссылки по теме:

C++ Необходимо решить систему уравнений(C++)
C++ Система линейных алгебраических уравнений
C++ Решение системы линейных алгебраических уравнений методом Гаусса

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

Или воспользуйтесь поиском по форуму:
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
09.08.2011, 16:53  [ТС]     Решить систему алгебраических линейных неоднородных уравнени #153
Вот и мне кажется, что где-то в начале косяк происходит... пока не вижу(

Добавлено через 3 часа 25 минут
Юр, слушай, а как задать точность для вывода?
Вот у меня число 14.56, прога выводит 14.6(
Yandex
Объявления
09.08.2011, 16:53     Решить систему алгебраических линейных неоднородных уравнени
Ответ Создать тему
Опции темы

Текущее время: 08:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru