Задача: Нахождение ранга матрицы! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача: Нахождение ранга матрицы! |
BDS |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Репутация: 0 |
Кто-нибудь знает, как написать алгоритм нахождения ранга матрицы?
Если сможете, помогите! ??? |
Gremlin |
Сообщение
#2
|
Гость |
Помоему там определенного алгоритма не существует как то надо строки комбинировать а когда останов не знаю вобще ненавижу находить ранг матрицы это мое больное место в алгебре
|
Fire_Rage |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 26 Репутация: 0 |
А что это такое?
-------------------- QUI NON PROFICIT, DEFICIT(Кто не идёт вперёд, идёт назад)
|
BDS |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 17 Репутация: 0 |
Алгоритм нахождения ранга матрицы я нашел по этому адресу:
http://slava.users.otts.ru/work/articles/m...mrang/index.htm, там же располагается фаил: http://slava.users.otts.ru/work/articles/matrix.rar, в котором реализован этот алгоритм, но он написан на C++ :-[ , кто нибудь может из Си в Пас переделать? ??? Если кто может, то помогите пожалуйста! |
BDS |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 17 Репутация: 0 |
А еще нашел модуль для работы с матрицами, там тоже это есть, но не знаю как оттуда вытащить. ???
Это только функция вычисления ранга, а сам модуль 600 с лишним строк и почти 13Кб (в zip.-е ок.3.5Кб), так что если нужно могу или сюда положить, или на e-mail кому-нибудь прислать. Код function Matr.Rg:byte; {------- Вычисление ранга матрицы } var l,j,k,min,rang:byte; sz:extended; tmp:Mp; begin min:=m; new(tmp,Init(n,m)); Move(ar^,tmp^.ar^,n*m*SizeOf(extended)); if n<m then begin min:=n; SetM(tmp,tmp^.T) end; with tmp^ do begin for k:=1 to min do for l:=1 to n do if l<>k then begin if e(k,k)^=0 then continue else sz:=e(l,k)^/e(k,k)^; for j:=1 to m do e(l,j)^:=e(l,j)^-sz*e(k,j)^ end; rang:=0; for l:=1 to min do if e(l,l)^<>0 then inc(rang); end; Dispose(tmp,Done); Rg:=rang end; |
Леша |
Сообщение
#6
|
Гость |
|
Текстовая версия | 22.12.2024 13:22 |