Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Решение СЛАУ методом Гаусса


Страницы:   1 2 3 4

Motion ©   (2005-05-02 18:28:00) 

Рассчитывая полином по МНК, получил СЛАУ, которое необходимо решить за Гауссом(для произвольной матрицы). Объясните, для начала как решить математически, а потом как это реализовать с помощью Delphi


Motion   (2005-05-02 21:29:00) [1]

На сегодня, я так понимаю, разговора больше не получится. Ладно, тогда зо завтра. Завтра утром буду здесь где-то в 9-00. Попытаюсь пока на бумаге решить.


Motion   (2005-05-02 21:08:00) [2]

Не знаю как дальше


Motion   (2005-05-02 21:07:00) [3]

Удалено модератором
Примечание: Нарушение пункта 10


begin...end   (2005-05-02 21:02:00) [4]

> Motion ©   (02.05.05 20:56) [65]

Не спешите.

> 0  3  -6  -3  -30
> 0  6   0  10   84
> 0 -3.5 13 -10.5 41
> 5 -4  -3  -2   -61

А четвёртую строку почему обидели? С ней поступаем так же, как и со второй и третьей.


Motion   (2005-05-02 21:01:00) [5]

Далее первую умножаю на 4 а последнюю на 3 и плюсую
Получаю:
0   3   -6   -3   -30
0   6    0   10    84
0   0   18   -42   18
15  0  -33   -18  -303


Motion   (2005-05-02 20:56:00) [6]

0  3  -6  -3  -30
0  6   0  10   84
0 -3.5 13 -10.5 41
5 -4  -3  -2   -61

Чтобы обнулить -3.5 я умножаю 3-ю строку на 3, 1-ю на 3.5 и плюсую. В итоге получаю -
0   3  -6   -3  -30
0   6   0   10   84
0   0  18  -42   18
5  -4  -3   -2   -61


begin...end   (2005-05-02 20:51:00) [7]

> Motion ©   (02.05.05 20:50) [63]

Пока -- да.


Motion   (2005-05-02 20:50:00) [8]

То есть постоянно нужно оперировать с 1-ой строкой?


Motion   (2005-05-02 20:48:00) [9]

Момент


begin...end   (2005-05-02 20:43:00) [10]

> Motion ©   (02.05.05 20:38) [59]

Из всех строк, кроме первой, нужно вычесть первую строку, умноженную на... ну Вы знаете, какие числа.
После этого во всех строках, кроме первой, коэффициенты перед A станут равными нулю.
А первая строка останется такой же, какой и была.

Делаем...


Motion   (2005-05-02 20:39:00) [11]

А дальше нужно обнулить ещё 5 элементов...а как?


Motion   (2005-05-02 20:38:00) [12]

Пока получил такое -
0  3  -6  -3  -30
0  6   0  10   84
0 -3.5 13 -10.5 41
5 -4  -3  -2   -61


Motion   (2005-05-02 20:32:00) [13]

Понял....решаю вторую систему...


Antonn   (2005-05-02 20:25:00) [14]


> Первую строку мы умножали на число, чтобы в первом
> столбце числа первой и второй строки совпали.

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


begin...end   (2005-05-02 20:24:00) [15]

> Motion ©   (02.05.05 20:21) [55]

Это и есть алгоритм. Правда, пока что не всего решения, а только приведения к треугольному виду. Но и это уже очень неплохо.

Теперь даю обещанный примерчик:

4a + 9b + 2c + 7d = 122
2a + 3b + 4c + 5d = 76
2a - 3b + 4c - 5d = -8
5a - 4b - 3c - 2d = -61


Motion   (2005-05-02 20:21:00) [16]

Это и есть алгоритм?


Motion   (2005-05-02 20:19:00) [17]

И вычтем из 3-ей строки первую


Motion   (2005-05-02 20:17:00) [18]

А потом первую строку мы умножаем на число, чтобы у нас совпали числа первого и второго столбца первой и третей строки.


Motion   (2005-05-02 20:12:00) [19]

1. Из второй строки вычитаем первую, умноженую на 2
2. Из третей строки отнимаем первую умноженую на 6.5

Первую строку мы умножали на число, чтобы в первом столбце числа первой и второй строки совпали.


begin...end   (2005-05-02 20:09:00) [20]

> Motion ©   (02.05.05 20:06) [50]

Только вместо "..." должны быть конкретные числа. А ещё лучше будет, если Вы сообразите, почему мы умножали строки именно на такие числа.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо