![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
denhpi |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: ![]() ![]() ![]() |
AX=В A[1..4, 1..4] B[1..4,1..1] найти Х=
и сделать блок схему |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
-------------------- |
DarkWishmaster |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
AX=В A[1..4, 1..4] B[1..4,1..1] найти Х= и сделать блок схему A-1*A*X=A-1*B X=A-1*B Для нахождение обратной матрицы думаю в паскале проще всего сделать так: A-1=1/|A| * (A11 A21 ... An1) (A12 A22 ... An2) ( . . . . . . . . . . .) (A1n A2n ... Ann) Сообщение отредактировано: DarkWishmaster - |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Влад, поясни, пожалуйста, вот эту часть:
Для нахождение обратной матрицы думаю в паскале проще всего сделать так: A-1=1/|A| * (A11 A21 ... An1) (A12 A22 ... An2) ( . . . . . . . . . . .) (A1n A2n ... Ann) Что ты имел в виду? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
TarasBer |
![]()
Сообщение
#5
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Наверное, матрицу, составленную из определителей подматриц. И всё это делить на определитель внешней матрицы.
Только что-то это алгоритмическая сложность n^5 получается таким методом. А вот метод Гаусса пишется очень просто и очень быстро. -------------------- |
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Наверное, матрицу, составленную из определителей подматриц. А ты имел в виду, по-видимому, алгебраические дополнения.. ))Тарас, я знаю, что ты знаешь. Вопрос был не к тебе, а к DarkWishMaster'у. Мне показалось, что он не вполне понимает, что пишет. Цитата И всё это делить на определитель внешней матрицы. Ну, деление-то там как раз есть..-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
DarkWishmaster |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Влад, поясни, пожалуйста, вот эту часть: Что ты имел в виду? Aij это минор, т.е стираем i линию и j столбик и находим определитель. А методом Гаусса на листке бумаги не трудно вычислить а вот в паскале не знаю как. Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее. "А вот метод Гаусса пишется очень просто и очень быстро." - напиши пожалуйста ) Почему сложность n^5? определитель для матрицы ранга 3 можно легко формулой найти а ранга 4 уже немного сложнее, но всё равно не понимаю почему n^5. Сообщение отредактировано: DarkWishmaster - |
TarasBer |
![]()
Сообщение
#8
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее
Ты не можешь написать процедуру, которая умножает все элементы массива на одно число? Ты не можешь написать процедуру, которая вычитает два массива? > Почему сложность n^5? определитель для матрицы ранга 3 можно легко формулой найти а ранга 4 уже немного сложнее, Давай, как ты это будешь делать? Перебирать все цепочки? А для ранга 5 какая формула у тебя выйдет? Так это уже O(n!) будет ваще. > но всё равно не понимаю почему n^5. Потому что для матрицы ранга n одним из самых простых методов определитель ищется за O(n^3), хотя есть способы и быстрее, конечно. И ты ищешь n^2 таких определителей. -------------------- |
DarkWishmaster |
![]()
Сообщение
#9
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
> Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее Ты не можешь написать процедуру, которая умножает все элементы массива на одно число? Ты не можешь написать процедуру, которая вычитает два массива? > Почему сложность n^5? определитель для матрицы ранга 3 можно легко формулой найти а ранга 4 уже немного сложнее, Давай, как ты это будешь делать? Перебирать все цепочки? А для ранга 5 какая формула у тебя выйдет? Так это уже O(n!) будет ваще. > но всё равно не понимаю почему n^5. Потому что для матрицы ранга n одним из самых простых методов определитель ищется за O(n^3), хотя есть способы и быстрее, конечно. И ты ищешь n^2 таких определителей. Просто в задаче дан размер матрицы, и поэтому не надо вычислять определитель ранга 5. |
TarasBer |
![]()
Сообщение
#10
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Это только сейчас не надо вычислять для размера 5х5. А потом может понадобиться.
-------------------- |
Krjuger |
![]()
Сообщение
#11
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Цитата Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее. На самом деле можно)))Прочитай про метод Гаусса с частичным выбором и с полным выбором по всей матрице.То ,что ты на глаз ищещ строчки которые вот так вот божественно сокращаются при умножении делении на какое то число,это лишь заслуга тех,кто для тебя эту матрицу составлял,а в решении более реальных задач,такие финты часто не прокатывают и с бумажкой ты будеш решать до скончания веков.А метод Гаусса работает вполне систематизированно. |
denhpi |
![]()
Сообщение
#12
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: ![]() ![]() ![]() |
а может кнонибудь написать алгоритм по методу Гауса???
Сообщение отредактировано: denhpi - |
Lapp |
![]()
Сообщение
#13
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
TarasBer |
![]()
Сообщение
#14
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
В ЧАВО почему-то циклы FOR сделаны через REPEAT, странно написано.
-------------------- |
Lapp |
![]()
Сообщение
#15
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
В ЧАВО почему-то циклы FOR сделаны через REPEAT, странно написано. Я точно не знаю и могу ошибаться, но в свое время бытовало мнение, что реализация for (в TP, думаю) медленная, и быстрее делать через repeat. Думаю, потому Олег так и сделал.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 1:14 |