Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.068 c
3-1121671971
TAN_K
2005-07-18 11:32
2005.08.28
QuicRep - форматирование вычисляемого поля


1-1123544473
Yura32
2005-08-09 03:41
2005.08.28
Assembler


5-1094017910
segor
2004-09-01 09:51
2005.08.28
Редактор ячейки в TdxDBGrid


8-1113919174
MAXIMUM666
2005-04-19 17:59
2005.08.28
Зацикливание


3-1121182830
xoot
2005-07-12 19:40
2005.08.28
Установка базы данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский