Форум: "Потрепаться";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизЖордан гаус Найти похожие ветки
← →
MRAk © (2005-11-28 23:17) [0]Уважаемые Мастера! У меня делема надо сделать прогу чтобы она расчитывала матрицу методом жордана гауса... но в инете везде валяется только способы расчеты квадратной матрицы или же на украинском =( не могли бы подсказать алгоритм а лучше привести пример(сылочку) на решение матицы этим способом на делфи или на паскале...
Вот пример матрицы
1 3 1 4 -1 = 12
2 0 -1 12 -1 = 14
1 2 0 -1 3 -1 = 6
в конце должно получится такое:
1 0 0 1 11 20
0 1 0 1 1 6
0 0 1 3 10 26
← →
DrPass © (2005-11-28 23:51) [1]
> только способы расчеты квадратной матрицы или же на украинском
> =(
А що, кляти москали вже матрыцю Жорданом-Гаусом порахувати не можуть? :-)))
/*не сочтите за разжигание нац. вражды, это всего лишь шутка без всякой задней мысли*/
>Автор
Вполне логичный вопрос: а на лекции разве метод Жордана-Гаусса не давали? Хотя...
> делема
> жордана гауса
наверное, не давали...
Тогда попробуй еще раз поискать. Только имей в виду, что фамилия Гаус в украинском пишется с одной "с", а в русском - с двумя
← →
Palladin © (2005-11-29 04:07) [2]:)))
достойно орешника...
← →
MRAk © (2005-11-29 04:41) [3]Ндя туп(я) =) не ну орешника конешно не достойно но тоже круто...
← →
Юрий Зотов © (2005-11-29 04:55) [4]> MRAk
http://www.yandex.ru/yandsearch?rpt=rad&text=%C4%E6%EE%F0%E4%E0%ED%E0-%C3%E0%F3%F1%F1%E0
http://www.yandex.ru/yandsearch?text=%C6%EE%F0%E4%E0%ED%E0-%C3%E0%F3%F1%F1%E0&stype=www
← →
Васяня (2005-11-29 05:00) [5]http://alglib.manual.ru/ - тут вроде было...
← →
MRAk © (2005-11-29 05:00) [6]лазил я там... алгоритм то я нашел а вот реалезовать выстраивание матрицы так чтобы на главной диогонале не было 0(всмысле попытатся) чето только перебором n! вариантов в голову лезет =(((
← →
MRAk © (2005-11-29 05:01) [7]я про 4 пост
← →
Думкин © (2005-11-29 07:02) [8]А расшифруйте, пожалуйста.
Есть вид Жордановых ячекк. Но там еще и матрицы перехода прилагаются.
А матрица Жордна-Гаусса решабельная - не вник.
← →
palva © (2005-11-29 09:11) [9]> чтобы на главной диогонале не было 0
надо переставлять строки матрицы
← →
MRAk © (2005-11-29 16:37) [10]9 ГЕНИАЛЬНО БЛИН а как ты перепробуешь все варианты? вот тебе пример простой матрицы побаловатся:
0 1 1 0
1 0 1 1
1 1 0 1
1 0 1 0
вот для такой матрицы придумать алгоритм?
← →
Alkid © (2005-11-29 16:44) [11]На самом деле процедура решения этого уравления методом Гаусса вполне прямолинейна.
Берёшь первую строку, делишь её на первый коэффициент (т.е. в первый коэффициент становится 1), после чего вычитаешь чего из всех нижеследующих строк, умножая на ИХ первые коэффициенты. Т.е. у тебя первый коэфф. первой строки == 1, а у всех остальных строк == 0.
Берёшь втору строку, делишь её на второй коэффициент, после чего таким же образом вычитаешь её из всех нижеследующих строк, умножая предварительно на вторые коэффициенты этих строк, тем самым обнуляя второй коэффициет в них. И так далее.
Строгий алгоритм лень писать.
← →
Alkid © (2005-11-29 16:45) [12]Да, забыл сказать, что если коэффициент (0,0) == 0, то просто меняешь первую строку местами с любой строкой, где он не нулевой.
Так же рекомендуется проверять матрицу левой части системы на вырожденность.
← →
MRAk © (2005-11-29 16:54) [13]
> Да, забыл сказать, что если коэффициент (0,0) == 0, то просто
> меняешь первую строку местами с любой строкой, где он не
> нулевой.
>
> Так же рекомендуется проверять матрицу левой части системы
> на вырожденность.
проблема какраз в замене... там же не только (0,0) надо менять но и (i,i) а для той матрицы(с 1 и 0) получается строгий алгоритм перебора всех возможных ситуаций а таких ситуаций n!(факториал) а как это реализовать если колво строк(тоесть циколв) не известно?
была идея нечто такого:
for i:=1 to n!/n do
for j:=1 to n do
но мне кажется что все гораздо проще =((((((((((((((
← →
Ega23 © (2005-11-29 16:54) [14]
> Так же рекомендуется проверять матрицу левой части системы
> на вырожденность.
Блин, Лёха! Ты, оказывается, такие слова умные знаешь!
← →
Alkid © (2005-11-29 17:00) [15]
> Блин, Лёха! Ты, оказывается, такие слова умные знаешь!
Не издевайся :)
> но мне кажется что все гораздо проще =((((((((((((((
Смотри, для i-ой строки тебе необходимо, что бы i-ый коэффициент был != 0, так? Значит, подойдя к i-ой строке и обнаружив в ней 0 на заветном месте, ты ищешь от i+1 до n строку, где этот коэффициент !=0 и меняешь местами.
Если не находишь, то система так просто не решается. Как мне помниться она либо не имеет решения, либо имеет бесконечное число решений (эх, давно это было). Мне думается, что если матрица не вырожденная
(det M != 0) то ты в такую ситуацию не должен попать. А вообще спавочники по математике рулят! :)
← →
ANB © (2005-11-29 17:20) [16]
> MRAk © (29.11.05 16:54) [13]
Где то у меня был проект как раз решения методом Гаусса. Я там даже в грид все вывел и специально по таймеру все делал, чтобы типа мультика было. Но куда я его дел - не помню. А вообще все тривиально.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.014 c