Главная страница
    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.041 c
11-1106228060
Bil Bal Dur
2005-01-20 16:34
2005.08.28
InputBox или InoutQuery в KOL


14-1122986763
oldman
2005-08-02 16:46
2005.08.28
Извините за оффтоп, но... ПОМОЖИТЕ УБОГОМУ...


14-1123066229
вразлет*
2005-08-03 14:50
2005.08.28
Славянский эсперанто


4-1118300808
g-l-u-k
2005-06-09 11:06
2005.08.28
Global Hook


1-1123213552
Viktop
2005-08-05 07:45
2005.08.28
Изменить высоту элемента в TreeView





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский