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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 70, средняя оценка - 4.66
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
#1

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

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

У меня есть система линейных уравнений. В ней 4000 уравнений.
Киньте плиз код для её решения. Желательно, чтобы он был максимально быстрым.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2011, 15:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решить систему алгебраических линейных неоднородных уравнени (C++):

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

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

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

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

Решить систему линейных уравнений вида Ax=b методом Зейделя - C++
2)Решить систему линейных уравнений вида Ax=b методом Зейделя 6.9 0,0319 0,039 0,461 0,0191 6,0 0,0333 0,405 0,0134 0,0205 5,1...

Система линейных алгебраических уравнений - C++
Решить систему линейных алгебраических уравнений. Метод решения выбрать самостоятельно. Коэффициенты и свободные члены линейного уравнения...

152
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
04.08.2011, 17:18  [ТС] #61
Я и не говорю, что скорость.. время)
0
grizlik78
Эксперт С++
1956 / 1449 / 115
Регистрация: 29.05.2011
Сообщений: 3,007
04.08.2011, 17:23 #62
Нет, и не время.
Если алгоритм1 выполняет n^3 операций, то сложность его O(n^3)
Если алгоритм2 выполняет 1000*n^2 операций, то сложность его O(n^2)
Вопрос: какой из алгоритмов быстрее (требует меньше времени на решение задачи)?
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.08.2011, 22:01 #63
grizlik78, 1-й ?
0
grizlik78
Эксперт С++
1956 / 1449 / 115
Регистрация: 29.05.2011
Сообщений: 3,007
04.08.2011, 22:19 #64
Так ведь от n зависит.
Для n < 1000 первый, для n > 1000 второй.
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 12:02  [ТС] #65
to Юра: скоро запущу прогу на шустрой машине.. посмотрим, что из этого выйдет)

Добавлено через 19 минут
Нароод! помогиет!!
Надо считать столбец свободных членов системы.
Решил просто проверить как работает. Считываю, записываю в массив, вывожу. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 int range;
    cin >> range;
    // Colum of free members
    double *free = new double[range];
    ifstream ifsf("B.txt");
    double q;
    int i = 0;
    int j = 0;
    while ( ifsf >> free[i] )
    {
        i++;
    }
    ifsf.close();
    ofstream ofs("B-0.txt");
    for ( int i = 0; i < range; i++ )
    {
        ofs << free[i] << endl;
    }
    ofs.close();
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 12:35 #66
Цитата Сообщение от hello19 Посмотреть сообщение
int i = 0;
Цитата Сообщение от hello19 Посмотреть сообщение
for ( int i = 0; i < range; i++ )
двойное объявление переменных, компилятор не ругался, сейчас запущу твой код, хотя имя для массива free мне ой как не нравиться, лучше не давать переменным названия аналогичные именам стандартных функций
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 12:38  [ТС] #67
Проблема не в переменных(

Добавлено через 39 секунд
Во время отладки - совершенно не заходит в while(((

Добавлено через 13 секунд
На самом деле довольно часто с этим сталкиваюсь
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.08.2011, 12:53 #68
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
двойное объявление переменных, компилятор не ругался
и не будет, вторая i живет только в цикле.
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 12:58 #69
Твои данные в В.txt представлены не в том виде...

Добавлено через 29 секунд
Цитата Сообщение от PointsEqual Посмотреть сообщение
и не будет, вторая i живет только в цикле.
Будет, компилятор поменяй...
1
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 12:59  [ТС] #70
Что значит представлены не в том виде?? там просто столбец чисел.. считываю их как даблы..
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.08.2011, 13:07 #71
Цитата Сообщение от hello19 Посмотреть сообщение
Во время отладки - совершенно не заходит в while(((
- а совсем забыл, код вот так должен выглядеть, увидишь что из за неправельного представления данных
C++
1
ifsf>>mass[i];
не инициализирует mass
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
26
#include <iostream.h>
#include <fstream.h>
 
int main()
{
    int range;
    cin >> range;
    // Colum of free members
    double *mass = new double[range];
    ifstream ifsf("B.txt");
    int i = 0;
    int j = 0;
    while (i < range)
    {
        ifsf>>mass[i];
        cout<<mass[i]<<"\r\n";
        i++;
    }
    ifsf.close();
 
    ofstream ofs("B-0.txt");
    for (j = 0; j < range; j++ )
        ofs<<mass[i]<<"\r\n";
    ofs.close();
    return 0;
}
Добавлено через 4 минуты
Цитата Сообщение от hello19 Посмотреть сообщение
Что значит представлены не в том виде?? там просто столбец чисел.. считываю их как даблы..
Если В был записан в двоичном режиме то есть разница

Добавлено через 2 минуты
hello19, чем тебе не угодил мой строковый вариант считывания, он лишён геморов связанных с режимом записи файла?
2
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 13:29  [ТС] #72
Что то не работает((

Добавлено через 2 минуты
Кстати, проверил решение с помощью матпакета... вообщем оно не правильное/))))

Добавлено через 5 минут
Думаю сейчас посмотреть код, который кидал ..эээ.. какой-то товарись несколько постов назад... посмотрим что из этого выйдет.
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
05.08.2011, 13:34 #73
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Будет, компилятор поменяй...
почему будет то?
0
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
05.08.2011, 13:45  [ТС] #74
to PointsEqual : предложи код, который нормально считывает...
а вообще я так дальше матрицу считываю... точно таким же методом...
0
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
05.08.2011, 13:48 #75
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Будет, компилятор поменяй...
Не будет! Мозги себе поминяй, ага.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2011, 13:48
Привет! Вот еще темы с ответами:

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

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

Решение системы линейных алгебраических уравнений - C++
Добрый вечер!!! Помогите, пожалуйста, написать программу для решения системы уравнений итерационным методом(метод А-минимальных...

Плохо обусловленные системы линейных алгебраических уравнений - C++
Добрый вечер! Ребят, может сталкивался кто с такими методами решения плохо обусловленных систем линейных алгебраических уравнений: --...


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

Или воспользуйтесь поиском по форуму:
75
Yandex
Объявления
05.08.2011, 13:48
Ответ Создать тему
Опции темы

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