помогите, задача по матрицам, матрицы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
помогите, задача по матрицам, матрицы |
denhpi |
27.06.2011 10:50
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
AX=В A[1..4, 1..4] B[1..4,1..1] найти Х=
и сделать блок схему |
TarasBer |
27.06.2011 11:22
Сообщение
#2
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
-------------------- |
DarkWishmaster |
27.06.2011 11:30
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: 3 |
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 - 27.06.2011 11:33 |
Lapp |
27.06.2011 12:02
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Влад, поясни, пожалуйста, вот эту часть:
Для нахождение обратной матрицы думаю в паскале проще всего сделать так: A-1=1/|A| * (A11 A21 ... An1) (A12 A22 ... An2) ( . . . . . . . . . . .) (A1n A2n ... Ann) Что ты имел в виду? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
TarasBer |
27.06.2011 12:09
Сообщение
#5
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Наверное, матрицу, составленную из определителей подматриц. И всё это делить на определитель внешней матрицы.
Только что-то это алгоритмическая сложность n^5 получается таким методом. А вот метод Гаусса пишется очень просто и очень быстро. -------------------- |
Lapp |
27.06.2011 12:18
Сообщение
#6
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Наверное, матрицу, составленную из определителей подматриц. А ты имел в виду, по-видимому, алгебраические дополнения.. ))Тарас, я знаю, что ты знаешь. Вопрос был не к тебе, а к DarkWishMaster'у. Мне показалось, что он не вполне понимает, что пишет. Цитата И всё это делить на определитель внешней матрицы. Ну, деление-то там как раз есть..-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
DarkWishmaster |
27.06.2011 13:53
Сообщение
#7
|
Бывалый Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: 3 |
Влад, поясни, пожалуйста, вот эту часть: Что ты имел в виду? Aij это минор, т.е стираем i линию и j столбик и находим определитель. А методом Гаусса на листке бумаги не трудно вычислить а вот в паскале не знаю как. Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее. "А вот метод Гаусса пишется очень просто и очень быстро." - напиши пожалуйста ) Почему сложность n^5? определитель для матрицы ранга 3 можно легко формулой найти а ранга 4 уже немного сложнее, но всё равно не понимаю почему n^5. Сообщение отредактировано: DarkWishmaster - 27.06.2011 13:59 |
TarasBer |
27.06.2011 14:50
Сообщение
#8
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее
Ты не можешь написать процедуру, которая умножает все элементы массива на одно число? Ты не можешь написать процедуру, которая вычитает два массива? > Почему сложность n^5? определитель для матрицы ранга 3 можно легко формулой найти а ранга 4 уже немного сложнее, Давай, как ты это будешь делать? Перебирать все цепочки? А для ранга 5 какая формула у тебя выйдет? Так это уже O(n!) будет ваще. > но всё равно не понимаю почему n^5. Потому что для матрицы ранга n одним из самых простых методов определитель ищется за O(n^3), хотя есть способы и быстрее, конечно. И ты ищешь n^2 таких определителей. -------------------- |
DarkWishmaster |
27.06.2011 16:57
Сообщение
#9
|
Бывалый Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: 3 |
> Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее Ты не можешь написать процедуру, которая умножает все элементы массива на одно число? Ты не можешь написать процедуру, которая вычитает два массива? > Почему сложность n^5? определитель для матрицы ранга 3 можно легко формулой найти а ранга 4 уже немного сложнее, Давай, как ты это будешь делать? Перебирать все цепочки? А для ранга 5 какая формула у тебя выйдет? Так это уже O(n!) будет ваще. > но всё равно не понимаю почему n^5. Потому что для матрицы ранга n одним из самых простых методов определитель ищется за O(n^3), хотя есть способы и быстрее, конечно. И ты ищешь n^2 таких определителей. Просто в задаче дан размер матрицы, и поэтому не надо вычислять определитель ранга 5. |
TarasBer |
27.06.2011 17:01
Сообщение
#10
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Это только сейчас не надо вычислять для размера 5х5. А потом может понадобиться.
-------------------- |
Krjuger |
27.06.2011 17:44
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Цитата Нельзя же Паскаля заставить думать что лучше умножить на 3 первую строку и потом из неё вычесть вторую строку и так далее. На самом деле можно)))Прочитай про метод Гаусса с частичным выбором и с полным выбором по всей матрице.То ,что ты на глаз ищещ строчки которые вот так вот божественно сокращаются при умножении делении на какое то число,это лишь заслуга тех,кто для тебя эту матрицу составлял,а в решении более реальных задач,такие финты часто не прокатывают и с бумажкой ты будеш решать до скончания веков.А метод Гаусса работает вполне систематизированно. |
denhpi |
27.06.2011 20:03
Сообщение
#12
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
а может кнонибудь написать алгоритм по методу Гауса???
Сообщение отредактировано: denhpi - 27.06.2011 20:03 |
Lapp |
27.06.2011 23:01
Сообщение
#13
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
TarasBer |
28.06.2011 9:21
Сообщение
#14
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
В ЧАВО почему-то циклы FOR сделаны через REPEAT, странно написано.
-------------------- |
Lapp |
29.06.2011 5:40
Сообщение
#15
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
В ЧАВО почему-то циклы FOR сделаны через REPEAT, странно написано. Я точно не знаю и могу ошибаться, но в свое время бытовало мнение, что реализация for (в TP, думаю) медленная, и быстрее делать через repeat. Думаю, потому Олег так и сделал.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 2.05.2024 13:24 |