exponenta event banner

Создание диагональной матрицы с помощью макроса VBA

В этом примере показано, как выполнять функции Link™ электронной таблицы для экспорта именованного диапазона на листе в MATLAB ® и создания диагональной матрицы с помощью макроса Microsoft ® Excel ® VBA.

В примере предполагается, что MATLAB выполняется после открытия Microsoft Excel. Дополнительные сведения см. в разделах Начало и прекращение ссылки на электронную таблицу и MATLAB.

Для работы с кодом VBA в Excel со ссылкой на электронную таблицу необходимо включить ссылку на электронную таблицу в качестве ссылки в редакторе Microsoft Visual Basic ®. Дополнительные сведения см. в разделе Установка.

На листе введите числа от 1 до 5 в диапазон ячеек из A1 через E1. Определение имени testData для этого диапазона ячеек и выберите его. Инструкции см. в справке Excel и введите поисковый термин: определение и использование имен в формулах.

Именованный диапазон testData появляется в поле «Имя».

Cell range named testData that has numbers 1 through 5 in cells A1 through E1

На вкладке Разработчик в Microsoft Excel щелкните Visual Basic. Откроется окно Редактор Visual Basic.

Вставка нового модуля и создание диагональной матрицы из данных в testData. Для вставки модуля выберите «Вставка» > «Модуль». В разделе «Код» введите код VBA, содержащий макрос с именем Diagonal.

Sub Diagonal()
    MLPutRanges
    MLEvalString "b = diag(testData);"
    MLGetMatrix "b", "A3"
    MatlabRequest
End Sub

Diagonal макрос экспортирует именованный диапазон в переменную MATLAB testData с использованием MLPutRanges функция. Затем макрос использует MLEvalString для выполнения кода MATLAB. Код MATLAB создает диагональную матрицу из данных в testData с использованием diag функция. Код присваивает диагональную матрицу переменной MATLAB b. Затем макрос использует MLGetMatrix для импорта диагональной матрицы в лист.

Скопируйте и вставьте код в редактор Visual Basic из HTML-версии документации.

Дополнительные сведения о работе с модулями см. в справке Excel.

Запустите макрос, щелкнув Run Sub/UserForm (F5). Дополнительные сведения о выполнении макросов см. в справке Excel.

Диагональная матрица отображается в ячейках листа A3 через E7.

Worksheet contains numbers 1 through 5 in cells A1 through E5 and the resulting diagonal matrix with the same numbers in cells A3 through E7

См. также

| |

Связанные темы