Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

Решение СЛАУ методом Гаусса   Найти похожие ветки 

 
Motion ©   (2005-05-02 18:28) [0]

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


 
begin...end ©   (2005-05-02 18:34) [1]

> Motion ©   (02.05.05 18:28)

Итак, начнём. Как бы Вы решали такую систему?

2x + 3y = 8
4x - 5y = -6


 
Motion ©   (2005-05-02 18:35) [2]

Поделил первую строку на 2 и отнял бы от 2-ой


 
Motion ©   (2005-05-02 18:36) [3]

Точнее умножил бы на 2 и отнял бы от 2-ой :)


 
Antonn ©   (2005-05-02 18:40) [4]

--------------
2x = 8 - 3y;
--------------
x = (8 - 3y) / 2
--------------
(4(8 - 3y)/ 2) - 5y = -6
--------------
2(8 - 3y) - 5y = -6
--------------
16 - 6y - 5y = -6
--------------
-11y = -22
--------------
y = 2
--------------
x = (8 - 3*2) / 2
--------------
x = 1
--------------

Правильно? :)


 
Motion ©   (2005-05-02 18:42) [5]

Да


 
begin...end ©   (2005-05-02 18:43) [6]

> Motion ©   (02.05.05 18:36) [3]

OK. А такую?

2x + 3y + 4z = 20
4x + 5y + 2z = 20
3x - 2y + 5z = 14


 
Motion ©   (2005-05-02 18:43) [7]

Момент, сейчас решу


 
Motion ©   (2005-05-02 18:47) [8]

Не знаю :( Пытаюсь привести к треугольному виду - ничего не получается.


 
begin...end ©   (2005-05-02 18:58) [9]

> Motion ©   (02.05.05 18:47) [8]

Не может быть. В системе [6] вычтете из второго уравнения первое, умноженное на 2, а из третьего -- первое, умноженное на 3/2. Сообщите о том, какая система получилась.


 
Antonn ©   (2005-05-02 19:00) [10]

2 3 4 | 20
4 5 2 | 20
3 -2 5 | 14
-------------
2  3   4 | 20
0 0.5  3 | 10
3 -2   5 | 14
-------------
2  3   4    | 20
0 0.5  3    | 10
0  0   4,25 | 13,5
-------------
z = 13.5/4.25
-------------
y = (10 - (13.5/4.25)*3 )*2
-------------
x = ( 20 - ((10 - (13.5/4.25)*3 )*2)*3 - (13.5/4.25)*4 )*2


 
Motion ©   (2005-05-02 19:03) [11]

0  - y  - 6z = -20
4x + 6y + 8z = 40
-x - 9y + (15/2-8) = -19


 
Motion ©   (2005-05-02 19:07) [12]

Что-то я не так делаю...


 
begin...end ©   (2005-05-02 19:07) [13]

> Motion ©   (02.05.05 19:03) [11]

Повторяю: из второго уравнения вычесть первое, умноженное на 2, а из третьего уравнения вычесть певрое, умноженное на 3/2.


 
Motion ©   (2005-05-02 19:08) [14]

А какое правило вычитания строк?


 
Antonn ©   (2005-05-02 19:09) [15]

Я вам не мешаю? :)


 
Motion ©   (2005-05-02 19:10) [16]

Да нет, если по теме :)


 
Motion ©   (2005-05-02 19:12) [17]

Умножаю первую строку на 2 и вычитаю из 2-ой?


 
begin...end ©   (2005-05-02 19:13) [18]

> Antonn ©   (02.05.05 19:09) [15]

Нет.

> Motion ©   (02.05.05 19:12) [17]

Да.


 
Motion ©   (2005-05-02 19:14) [19]

Если просто умножаю =>
4  6  8  40
4  5  2  20
3 -2  5  14


 
Motion ©   (2005-05-02 19:14) [20]

Если просто умножаю =>
4  6  8  40
4  5  2  20
3 -2  5  14


 
Motion ©   (2005-05-02 19:16) [21]

Потом от 2-ой отнимаю первую...то есть во второй пишу результат, а первую так и оставляю?...
4  6  8  40
0  -1 -6 -20
3  -2  5  14


 
begin...end ©   (2005-05-02 19:16) [22]

> Motion ©   (02.05.05 19:14) [20]

Вот и хорошо. А теперь нужно вычесть первую строку этой системы из второй: 4 - 4 = 0, 5 - 6 = -1, и т.д.


 
Motion ©   (2005-05-02 19:17) [23]

Я просто ровняюсь на решение Antonn ©, у него получается -
2  3   4 | 20
0 0.5  3 | 10
3 -2   5 | 14


 
begin...end ©   (2005-05-02 19:18) [24]

> Motion ©   (02.05.05 19:16) [21]

Вторую строку Вы преобразовали верно. А теперь восстановите первую строку, как было.


 
Motion ©   (2005-05-02 19:18) [25]

А, он потом 1-у и 2-у строку на 2 поделил...:) Я не заметил сначала


 
Motion ©   (2005-05-02 19:21) [26]

2 3 4 20
0 -1 -6 -20
3 -2 5 14


 
Motion ©   (2005-05-02 19:21) [27]

То есть делю 1-ну на 2


 
begin...end ©   (2005-05-02 19:23) [28]

> Motion ©   (02.05.05 19:21) [26]

Хорошо, но первую и не надо было менять. Нужно было из второй вычесть первую, умноженную на 2, из полученный результат записать на место второй строки. А первая такая же и осталась.

ОК, едем дальше. Теперь приступим к третьей строке: из неё нужно вычесть первую, умноженную на 3/2.


 
Motion ©   (2005-05-02 19:26) [29]

А первая должна была остаться в первоначальном виде или умноженая на 2?


 
begin...end ©   (2005-05-02 19:27) [30]

> Motion ©   (02.05.05 19:26) [29]

Первая должна остаться в первоначальном виде. Просто мы её в уме умножили на 2 и вычли её из второй.


 
Motion ©   (2005-05-02 19:28) [31]

Такое получилось:
3 4.5 6 30
0 -1 -6 -20
0 -6.5 -1 -16


 
Motion ©   (2005-05-02 19:30) [32]

А точнее:
2 3 4 20
0 -1 -6 -20
0 -6.5 -1 -16


 
palva ©   (2005-05-02 19:30) [33]

Извините, что вклиниваюсь, но у меня вопрос
> Рассчитывая полином по МНК, получил СЛАУ
Обычно МНК приводят к симметрической, положительно определенной матрице, которую естественнее решать методом Холецкого. Если матрица не такая, то вопрос снят, а если уравнение можно решать по Холецкому, то почему выбран Гаусс?


 
begin...end ©   (2005-05-02 19:30) [34]

> Motion ©   (02.05.05 19:28) [31]

Только сама первая строка не должна была меняться. Восстановите её на первоначальную.


 
Motion ©   (2005-05-02 19:31) [35]

2 3 4 20
0 -1 -6 -20
0 -6.5 -1 -16


 
begin...end ©   (2005-05-02 19:32) [36]

> Motion ©   (02.05.05 19:30) [32]

Прекрасно. Теперь из третьей строки нужно вычесть вторую, умноженную на 6,5.


 
Motion ©   (2005-05-02 19:34) [37]

То palva © >>
Возможно, судите сами -
Задана функция таблично. Использую МНК - вычислить коэфициенты алгебраического полинома. Я написал программу, которая составляет нормальную СЛАУ в матричном виде. А теперь СЛАУ нужно решить.


 
Motion ©   (2005-05-02 19:37) [38]

Получил -
2  3  4  20
0 -1 -6 -20
0  0 38 114


 
begin...end ©   (2005-05-02 19:38) [39]

> Motion ©   (02.05.05 19:37) [38]

Замечательно. Можем ли мы теперь сказать, чему равен z?


 
Motion ©   (2005-05-02 19:40) [40]

z=3
y=2
x=1



Страницы: 1 2 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.067 c
5-1094451679
Victor
2004-09-06 10:21
2005.08.28
Гибкие линии


8-1113669884
Comrade
2005-04-16 20:44
2005.08.28
Видио во весь экран


14-1123159211
oldman
2005-08-04 16:40
2005.08.28
Хотел в ветку про Динамо написать, но создам новую...


14-1123478604
Ega23
2005-08-08 09:23
2005.08.28
С днем рождения! 8 августа


14-1122212690
Санёк
2005-07-24 17:44
2005.08.28
Посоветуйте книгу по C# под .NET