Вопрос № 41193: Уважаемые Эксперты!
Помогите, пожалуйста! Третий день мучаюсь...
Как в процедуре матрице путем элементарных преобразований предать специальный ступенчатый вид?
С глубочайшим уважением, Mary...
Вопрос № 41.193
Уважаемые Эксперты!
Помогите, пожалуйста! Третий день мучаюсь...
Как в процедуре матрице путем элементарных преобразований предать специальный ступенчатый вид?
С глубочайшим уважением, Mary
Отправлен: 24.04.2006, 22:22
Вопрос задала: Mary (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 9)
Отвечает: EPDSota
Здравствуйте, Mary!
Как обычно ручкой в тетради:
Берешь строку, вычитаешь ее из всех остальных с умножением на нужный коэффициент, чтобы последний элемент обращался в ноль и все...
Приложение:
--------- Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 27.04.2006, 16:42 Оценка за ответ: 5 Комментарий оценки: Пасиб, конечно... но с этим у меня проблем не было... :) проблемы начинались, когда надо получить нолики, которые выше единичек...
Отвечает: Полховский Александр Владимирович
Здравствуйте, Mary!
Как я понял, ниже ведущих элементов нули получаются автоматически после прибавления изменённой строки.
Чтобы получить нули выше ведущих элементов, нужно последовательно перебирать строки (начиная со второй строки) и прибавлять эту изменённую строку к выше стоящей, добиваясь нулевого значения во всех выше стоящих позициях. Вот короткая последовательность на Вашем примере:
Исходная матрица, у которой мы будем получать нули выше ведущих элементов
1
2.5
3.5
-2
0
0
1
1
0
10
0
0
1
-0.2
4
Теперь умножаем вторую строку на число, равное -a(2; 1), то есть -2.5:
0
-2.5
-2.5
0
-25
Прибавляем эту строку к первой:
1
0
1
-2
-25
Теперь у нас такая матрица:
1
0
1
-2
-25
0
1
1
0
10
0
0
1
-0.2
4
Теперь надо получить нули у элементов a(3; 1) и a(3; 2).
Умножаем третью строку на коэффициент. равный -a(3; 1), то есть -1:
0
0
-1
0.2
-4
Прибавляем её к первой строке и получаем:
1
0
0
-1.8
-29
0
1
1
0
10
0
0
1
-0.2
4
То же самое проделываем для второй строки: умножаем на коэффициент -a(3; 2), то есть -1:
0
0
-1
0.2
-4
Прибавляем ко второй строке и получаем:
1
0
0
-1.8
-29
0
1
0
0.2
6
0
0
1
-0.2
4
Вот так всё и происходит.
Код... думаю, Вы сами поймёте, что к чему. Последовательность довольно простая, реализуется парой циклов for. Полагаю, Вы в состоянии написать. Если нет - милости просим к нам.
С уважением, Полховский А. В. --------- Спасём нашу хрупкую планету !
Ответ отправил: Полховский Александр Владимирович (статус: Практикант)
Ответ отправлен: 27.04.2006, 19:17 Оценка за ответ: 5 Комментарий оценки: Пасиб :)