|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2010, 16:50 | #1 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 87
|
Каксоздать из матрицы минор этойже матрицы
Сама задача не очень сложная - есть матрица NxN, нужно посчитать все миноры этой матрицы. Имея функцию МОПРЕД задача сводится к получению самих минорв. В принципе это можно и ручками сделать но когда матрица 20х20 то получается очень долго и муторно. а времени как всегда мало, хотелось бы побыстрее и автоматически. Не подскажети ли ВЫ какогонибуть решения, либо макросом либо просто какойнибуть функцией, а то в программировании я не силён, а со встроенными функциями на мой взгляд всё попробовал.
Заранее спасибо. |
22.05.2010, 16:20 | #2 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 87
|
Вот появился вариант с решения данной проблемы используя формулы.
Вот только виснит оно очень сильно. Нельзяли это какнить в макросе сделать? |
23.05.2010, 01:08 | #3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
По определению минор - это определитель квадратной матрицы размером NxN, полученной из произвольных строк и столбцов исходной матрицы.
В предложенном варианте для матрицы 20х20. Приведено порядка 400 миноров. Я мог бы написать сколько миноров можно составить из матрицы 20х20 всего, скажу только, что миноров только 10-го порядка будет 34 134 779 536 (34 миллиарда), а есть 1 минор 20 порядка, 400 миноров 19-го порядка, 36100 миноров 18 порядка и т.д. Поэтому действительно написать формул для всех миноров - не реально. Макросом значения миноров надо складывать в текстовый файл, в Excelе их не куда будет складывать из-за физических ограничений размеров таблицы.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 23.05.2010 в 01:12. |
23.05.2010, 03:20 | #4 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 87
|
да, замечание по делу. Тогда уточню - нужны миноры N порядка, в данном случае 20го. Как я сказал для моих целей выложенный файл полностью подходит, считает всё что нужно и вроде как правильно, только если вложить в один документ несколько таких листов(лично мне нужно их 4 штуки плюс ещё 4 листа с более простыми вычислениями), и они все друг на друга ссылаются, то документ начинает очень сильно тормозить, и основное его торможение происходит из-за вывода этих 400 миноров. Вот и появилось желание увидеть это в макросе чтоб при запуске макроса в определённых выводить эти 400 миноров, это очень облегчит расчёты и скорость сохранения и запуска файлов.
Так задача стала более понятной? |
23.05.2010, 11:29 | #5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
еще раз формулы.
Все 400 миноров 19-го порядка в моем примере рассчитываются быстрее, чем 40 из предыдущего. На сорока минорах расчет происходил вообще моментально. Но обьем файла... извините
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.05.2010, 13:43 | #6 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 87
|
Спасибо. вроде всё то что нужно) а размер файла - в два раза меньше чем у меня до этого) так что всё нормально, и висит вроде тоже намного намного меньше чем раньше, так что сейчас буду складывать всё и сразу заново.
Ещё раз спасибо. |
23.05.2010, 19:22 | #7 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 87
|
Не хочу говорить ничего плохого, но то что вы сделали работает не корректно, поначалу не заметил, теперь вижу, там 20 неправильных значений а точнее (i,20) как мне показалось ошибка в создании нумерации - после 1 19 идёт 2 20 а потом 2 1, по видимому из-за этого он конфликтует... а работает и правда быстрее))) Так что если возможно исправить ошибку, или всётаки сделать какойнить макрос я был бы благодарен.
Заранее спасибо за сделанную работу. |
23.05.2010, 20:40 | #8 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Цитата:
положите это: Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
23.05.2010, 20:51 | #9 |
Пользователь
Регистрация: 18.05.2010
Сообщений: 87
|
я проверил все строки, и только в этих 20 были ошибки.
Спасибо, щас попробую подставить, посмотрим что получится) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обращение матрицы методом союзной матрицы | dofmat | Помощь студентам | 6 | 03.10.2011 15:01 |
TurboPascal: графы, матрицы смежности и матрицы инцидентности. | ulala | Помощь студентам | 1 | 03.03.2011 19:28 |
Матрицы:функция изменения порядка столбцов матрицы | Fajyz | Помощь студентам | 0 | 13.01.2010 09:40 |
На главную диагональ матрицы поместить наибольшие элементы этой матрицы | mivel | Помощь студентам | 2 | 23.12.2009 21:19 |