56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
1 | |
Создать модуль в VBA Ecxel, в котором написать вывод произвольной матрицы на лист Ecxel11.06.2012, 15:54. Показов 5227. Ответов 41
Метки нет (Все метки)
Добрый вечер. Помогите, пожалуйста. Нужно создать модуль в VBA Ecxel, в котором написать вывод произвольной матрицы на лист Ecxel, где размерность задается пользователем, и сумма элементов каждой строки матрицы равна 1, а значения каждого элемента должны быть от 0 до 1.
0
|
11.06.2012, 15:54 | |
Ответы с готовыми решениями:
41
VBA Ecxel (обращение к SharePoint) Ecxel перенос строки в столбец VBA Как можно открыть активную ячейку для редактирования (F2) возможностями VBA в Ecxel? Почему VBA в Ecxel при обращении к некоторым функциям (Date, Chr и др.) ругается? |
Модератор
|
||||||
11.06.2012, 18:06 | 2 | |||||
1. Создаёшь книгу Excel
2. Добавляешь пустой модуль. 3. В модуль заносишь следующий код:
2
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
12.06.2012, 18:14 [ТС] | 3 |
Спасибо Вам большое! Вы мне очень помогли)
Добавлено через 22 часа 49 минут Здравствуйте, а можно еще спросить? Теперь нужно сделать, чтобы когда я создаю вторую матрицу, например, первая удалялась. Я знаю, что нужно использовать функцию Cells.Clear, но мне нужно чтобы не вся страница очищалась, а только те ячейки, где была матрица. Заранее спасибо)
0
|
Модератор
|
|||||||||||
12.06.2012, 18:20 | 4 | ||||||||||
Это просто:
1. Способ медленный:
1
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
12.06.2012, 19:21 [ТС] | 6 |
Спасибо ещё раз!
0
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
02.08.2012, 11:18 [ТС] | 7 |
Здравствуйте! Помогите, пожалуйста, еще раз. Я задаю размерность матрицы, вывожу ее. Теперь мне нужно эту матрицу умножить на саму себя. А затем полученную матрицу умножить на исходную. И так далее. Помогите, пожалуйста!
0
|
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
02.08.2012, 11:26 | 8 |
Перемножение матриц
Возведение матрицы в степень, заданной массивом
1
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
||||||
08.08.2012, 12:12 [ТС] | 9 | |||||
А что нужно изменить в коде, чтобы создать одномерный массив, сумма элементов которого была равна 1? Заранее спасибо!
0
|
Модератор
|
||||||
08.08.2012, 16:12 | 10 | |||||
Мне кажется, да - правильно! Единственно, нужно поправить блок вывода:
1
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
08.08.2012, 18:26 [ТС] | 11 |
Ага, спасибо. А в нормировке нет ошибки? А то выводятся все единицы.
Добавлено через 8 минут
0
|
Модератор
|
||||||
08.08.2012, 19:02 | 12 | |||||
Ой, проглядел... Нормировка должна быть такой:
1
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
08.08.2012, 20:12 [ТС] | 13 |
Спасибо, я уже исправила! А можно, я еще поспрашиваю, если будут вопросы?
0
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
||||||
09.08.2012, 08:06 [ТС] | 15 | |||||
Доброе утро! А теперь нужно умножить этот вектор-строку на квадратную матрицу (размерности у них одинаковые). Для этого нужно умножить каждый элемент вектора-строки на соответствующий ему по порядку элемент i-того столбца матрицы и просуммировать эти произведения. И получим вектор
0
|
Модератор
|
||||||
09.08.2012, 09:55 | 16 | |||||
Нет, не совсем. Запомните на дальнейшее: матричное умножение - это минимум два цикла:
1
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
|
09.08.2012, 17:43 [ТС] | 17 |
Спасибо большое!
А вы же функцию написали? Чтобы ее вызвать нужно использовать Call функция(список параметров)? Это у меня получилось. А еще хочу функцию написать, чтобы полученный вектор умножался на ту же матрицу.
0
|
Модератор
|
||||||
10.08.2012, 09:15 | 18 | |||||
Вот как это можно оформить:
1
|
56 / 1 / 1
Регистрация: 11.06.2012
Сообщений: 51
|
||||||
10.08.2012, 15:25 [ТС] | 19 | |||||
Спасибо Вам за помощь! Я сделала, как вы написали, только ошибка вот в этом месте, хотя я n% объявила как глобальную переменную:
0
|
Модератор
|
||||||
10.08.2012, 19:18 | 20 | |||||
Конечно, так нельзя. Я-то имел в виду, что массивы имеют постоянные границы. Если хотите переменные, то:
0
|
10.08.2012, 19:18 | |
10.08.2012, 19:18 | |
Помогаю со студенческими работами здесь
20
Сложное условие в MS Ecxel работа с ecxel документами Копирование значений в Ecxel Сохранение таблицы в Ecxel Создание файла ecxel Использование DAO в MS Ecxel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |