Текущий архив: 2005.08.28;
Скачать: CL | DM;
Вниз
Решение СЛАУ методом Гаусса Найти похожие ветки
← →
Motion © (2005-05-02 19:40) [40]z=3
y=2
x=1
← →
begin...end © (2005-05-02 19:41) [41]> Motion © (02.05.05 19:40) [40]
Я В Вас верю! Теперь постарайтесь описать алгоритм решения системы [6]. Что, из чего, и в какой последовательности мы вычитали?
← →
Motion © (2005-05-02 19:42) [42]Насколько я понял, нужно привести матрицу к триугольному виду...а можно ещё пример - для закрепления?
← →
begin...end © (2005-05-02 19:45) [43]> Motion © (02.05.05 19:42) [42]
ОК. Я пока подумаю над следующим примером, а Вы всё же постарайтесь сформулировать алгоритм приведения матрицы к треугольному виду. Когда сформулируете -- я сразу же дам следующий пример.
← →
Motion © (2005-05-02 19:45) [44]Хорошо, а алгоритм на Delphi?
← →
Antonn © (2005-05-02 19:48) [45]Motion © (02.05.05 19:45) [44]
:)
← →
Motion © (2005-05-02 19:51) [46]Алгоритм решения ЭТОЙ системы уравнения? То есть для частного случая?
← →
begin...end © (2005-05-02 19:54) [47]> Motion © (02.05.05 19:45) [44]
До "алгоритма на Delphi" -- увы, ещё очень далеко. Вначале нужно осознать, КАК нужно решать без Delphi. Чтобы потом сообщить этой самой Delphi, ЧТО она должна делать. Сама она, к сожалению, решать уравнения не умеет.
Так что жду попытки формулировки алгоритма.
> Motion © (02.05.05 19:51) [46]
Да, именно этой. Для системы трёх уравнений.
← →
Motion © (2005-05-02 19:59) [48]То есть что за чем я должен делать? Вначале мне нужно получить первый элемент во второй строке равным 0, для этого я умножаю строку 1 на 2 отнимаю от 2-ой
← →
begin...end © (2005-05-02 20:03) [49]> Motion © (02.05.05 19:59) [48]
> То есть что за чем я должен делать?
Именно так. Начало может быть таким:
1. Из второй строки вычитаем первую, умноженную на ...
2. ...
← →
Motion © (2005-05-02 20:06) [50]1. Из второй строки вычитаем первую, умноженую на...
2. Из третей строки отнимаем первую умноженую на...
Так?
← →
begin...end © (2005-05-02 20:09) [51]> Motion © (02.05.05 20:06) [50]
Только вместо "..." должны быть конкретные числа. А ещё лучше будет, если Вы сообразите, почему мы умножали строки именно на такие числа.
← →
Motion © (2005-05-02 20:12) [52]1. Из второй строки вычитаем первую, умноженую на 2
2. Из третей строки отнимаем первую умноженую на 6.5
Первую строку мы умножали на число, чтобы в первом столбце числа первой и второй строки совпали.
← →
Motion © (2005-05-02 20:17) [53]А потом первую строку мы умножаем на число, чтобы у нас совпали числа первого и второго столбца первой и третей строки.
← →
Motion © (2005-05-02 20:19) [54]И вычтем из 3-ей строки первую
← →
Motion © (2005-05-02 20:21) [55]Это и есть алгоритм?
← →
begin...end © (2005-05-02 20:24) [56]> 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
← →
Antonn © (2005-05-02 20:25) [57]
> Первую строку мы умножали на число, чтобы в первом
> столбце числа первой и второй строки совпали.
что бы их разность равнялась нулю, таким образом, мы "убиваем" одну переменную.
← →
Motion © (2005-05-02 20:32) [58]Понял....решаю вторую систему...
← →
Motion © (2005-05-02 20:38) [59]Пока получил такое -
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:39) [60]А дальше нужно обнулить ещё 5 элементов...а как?
← →
begin...end © (2005-05-02 20:43) [61]> Motion © (02.05.05 20:38) [59]
Из всех строк, кроме первой, нужно вычесть первую строку, умноженную на... ну Вы знаете, какие числа.
После этого во всех строках, кроме первой, коэффициенты перед A станут равными нулю.
А первая строка останется такой же, какой и была.
Делаем...
← →
Motion © (2005-05-02 20:48) [62]Момент
← →
Motion © (2005-05-02 20:50) [63]То есть постоянно нужно оперировать с 1-ой строкой?
← →
begin...end © (2005-05-02 20:51) [64]> Motion © (02.05.05 20:50) [63]
Пока -- да.
← →
Motion © (2005-05-02 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
Чтобы обнулить -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
← →
Motion © (2005-05-02 21:01) [66]Далее первую умножаю на 4 а последнюю на 3 и плюсую
Получаю:
0 3 -6 -3 -30
0 6 0 10 84
0 0 18 -42 18
15 0 -33 -18 -303
← →
begin...end © (2005-05-02 21:02) [67]> 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:07) [68]Удалено модератором
Примечание: Нарушение пункта 10
← →
Motion © (2005-05-02 21:08) [69]Не знаю как дальше
← →
Motion © (2005-05-02 21:29) [70]На сегодня, я так понимаю, разговора больше не получится. Ладно, тогда зо завтра. Завтра утром буду здесь где-то в 9-00. Попытаюсь пока на бумаге решить.
Страницы: 1 2 вся ветка
Текущий архив: 2005.08.28;
Скачать: CL | DM;
Память: 0.6 MB
Время: 0.025 c