Форум: "Игры";
Текущий архив: 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