Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 16:50   #1
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию Каксоздать из матрицы минор этойже матрицы

Сама задача не очень сложная - есть матрица NxN, нужно посчитать все миноры этой матрицы. Имея функцию МОПРЕД задача сводится к получению самих минорв. В принципе это можно и ручками сделать но когда матрица 20х20 то получается очень долго и муторно. а времени как всегда мало, хотелось бы побыстрее и автоматически. Не подскажети ли ВЫ какогонибуть решения, либо макросом либо просто какойнибуть функцией, а то в программировании я не силён, а со встроенными функциями на мой взгляд всё попробовал.

Заранее спасибо.
drNabla вне форума Ответить с цитированием
Старый 22.05.2010, 16:20   #2
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

Вот появился вариант с решения данной проблемы используя формулы.
Вот только виснит оно очень сильно. Нельзяли это какнить в макросе сделать?
Вложения
Тип файла: zip миноры матрицы.zip (1.08 Мб, 54 просмотров)
drNabla вне форума Ответить с цитированием
Старый 23.05.2010, 01:08   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 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.
IgorGO вне форума Ответить с цитированием
Старый 23.05.2010, 03:20   #4
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

да, замечание по делу. Тогда уточню - нужны миноры N порядка, в данном случае 20го. Как я сказал для моих целей выложенный файл полностью подходит, считает всё что нужно и вроде как правильно, только если вложить в один документ несколько таких листов(лично мне нужно их 4 штуки плюс ещё 4 листа с более простыми вычислениями), и они все друг на друга ссылаются, то документ начинает очень сильно тормозить, и основное его торможение происходит из-за вывода этих 400 миноров. Вот и появилось желание увидеть это в макросе чтоб при запуске макроса в определённых выводить эти 400 миноров, это очень облегчит расчёты и скорость сохранения и запуска файлов.
Так задача стала более понятной?
drNabla вне форума Ответить с цитированием
Старый 23.05.2010, 11:29   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

еще раз формулы.
Все 400 миноров 19-го порядка в моем примере рассчитываются быстрее, чем 40 из предыдущего. На сорока минорах расчет происходил вообще моментально.
Но обьем файла... извините
Вложения
Тип файла: rar Книга339.rar (454.3 Кб, 46 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.05.2010, 13:43   #6
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

Спасибо. вроде всё то что нужно) а размер файла - в два раза меньше чем у меня до этого) так что всё нормально, и висит вроде тоже намного намного меньше чем раньше, так что сейчас буду складывать всё и сразу заново.
Ещё раз спасибо.
drNabla вне форума Ответить с цитированием
Старый 23.05.2010, 19:22   #7
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

Не хочу говорить ничего плохого, но то что вы сделали работает не корректно, поначалу не заметил, теперь вижу, там 20 неправильных значений а точнее (i,20) как мне показалось ошибка в создании нумерации - после 1 19 идёт 2 20 а потом 2 1, по видимому из-за этого он конфликтует... а работает и правда быстрее))) Так что если возможно исправить ошибку, или всётаки сделать какойнить макрос я был бы благодарен.

Заранее спасибо за сделанную работу.
drNabla вне форума Ответить с цитированием
Старый 23.05.2010, 20:40   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Не хочу говорить ничего плохого
а ничего плохого и не сказано, просто найдена ошибка.
положите это:
Код:
=ЦЕЛОЕ(ЦЕЛОЕ((СТРОКА()-21)/20)/20)+1
в первую ячейку строк: 40, 60, 80... 8020 (можно только в строки (i,20), вы их точно заметили).
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.05.2010, 20:51   #9
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

я проверил все строки, и только в этих 20 были ошибки.
Спасибо, щас попробую подставить, посмотрим что получится)
drNabla вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы 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