Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.94/52: Рейтинг темы: голосов - 52, средняя оценка - 4.94
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
1

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

22.07.2011, 15:58. Просмотров 9471. Ответов 152
Метки нет (Все метки)

У меня есть система линейных уравнений. В ней 4000 уравнений.
Киньте плиз код для её решения. Желательно, чтобы он был максимально быстрым.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2011, 15:58
Ответы с готовыми решениями:

Решить систему линейных алгебраических уравнений
Решить CЛАУ 2A^tX=Y^2,где |2 1 5 6| |3| A= |5 2 2 6|...

Методом Гаусса решить систему n линейных алгебраических уравнений
Помогите пожалуйста написать на с++ методом Гаусса решить систему n линейных...

Решить систему алгебраических уравнений методом Гаусса
Решить систему алгебраических уравнений методом Гаусса: 6X1-X2-X3=11,33,...

Решить систему линейных неравенств
Нужно написать программу, решающую систему неравенств. Программа должна...

Решить систему линейных уравнений вида Ax=b методом Зейделя
2)Решить систему линейных уравнений вида Ax=b методом Зейделя 6.9 0,0319...

152
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:18  [ТС] 141
Кстати, ты время не засекал? просто даже интересно сколько будет работать....
0
grizlik78
Эксперт С++
2015 / 1496 / 206
Регистрация: 29.05.2011
Сообщений: 3,117
08.08.2011, 18:20 142
Цитата Сообщение от hello19 Посмотреть сообщение
Кстати, ты время не засекал? просто даже интересно сколько будет работать....
Это не так-то просто, весь скрипт отрабатывает за доли секунды.
0
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:21  [ТС] 143
to Юра: вот на всякий случай решение системы... я тут проверил - оно неплохо подходит.
0
Вложения
Тип файла: rar решение.rar (9.1 Кб, 17 просмотров)
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:24  [ТС] 144
Цитата Сообщение от grizlik78 Посмотреть сообщение
Это не так-то просто, весь скрипт отрабатывает за доли секунды.
Разработчики позаботились об этом)
Всего то надо сделать так:
если ты хочешь посмотреть, сколько времени работает конкретной кусок кода в scilsb, то нужно просто написать так:
timer();
// кусок кода, время работы которого ты хочешь узнать
timer()
0
grizlik78
Эксперт С++
2015 / 1496 / 206
Регистрация: 29.05.2011
Сообщений: 3,117
08.08.2011, 18:29 145
Цитата Сообщение от hello19 Посмотреть сообщение
Разработчики позаботились об этом)
Ну хорошо, весь скрипт, с загрузкой и выгрузкой 0,2 с.
Само решение без ввода-вывода и проверки 0,03-0,07 с.
scilab 5.1.1, линукс, x86_64, C2D E6600
0
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
08.08.2011, 18:31  [ТС] 146
ОК. Завтра протестю на винде. У меня scilsb 5.3.3
0
-=ЮрА=-
Заблокирован
Автор 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-систем, ещё по универу помню косяки маткада при решении диффуров...
1
Миниатюры
Решить систему алгебраических линейных неоднородных уравнени  
Вложения
Тип файла: rar check_results.rar (63.4 Кб, 7 просмотров)
Тип файла: rar ERR.rar (17.8 Кб, 6 просмотров)
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
09.08.2011, 10:31  [ТС] 148
Сейчас посмотрим что и как...

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

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

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

Я ни в коем случае не осуждаю создание своей программы, сам нередко делаю это. Моё участие здесь обусловлено лишь тем, что было явно видно, что scilab используется неэффективно для решения конкретно этой задачи.
0
-=ЮрА=-
Заблокирован
Автор FAQ
09.08.2011, 13:21 152
Цитата Сообщение от hello19 Посмотреть сообщение
Сейчас понять где прога косячит и, тогда ей цены не будет.
Работаю над этим, подумываю выгрузить в файл А и В после сжатия и сравнить с исходными, метод Гаусса там реализован верно, по сему заключаю что всё же ошибка возникает до расчёта, на этапе формирования А или её сжатия, матрица нууу очень большая поэтому баги сложно выявить...
1
Stas0n
3 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 313
09.08.2011, 16:53  [ТС] 153
Вот и мне кажется, что где-то в начале косяк происходит... пока не вижу(

Добавлено через 3 часа 25 минут
Юр, слушай, а как задать точность для вывода?
Вот у меня число 14.56, прога выводит 14.6(
0
09.08.2011, 16:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2011, 16:53

Система линейных алгебраических уравнений
Помогите пожалуйта с програмой вопрос жизни и смерти!!! Мне нужно написать...

Система линейных алгебраических уравнений
Решить систему линейных алгебраических уравнений. Метод решения выбрать...

Система линейных алгебраических уравнений
помогите исправить ошибки! #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...


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

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

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