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

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

Пример предполагает, что MATLAB запускается после открытия Microsoft Excel. Для получения дополнительной информации см. Start and Stop Spreadsheet Link и MATLAB.

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

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

Именованная область значений testData появляется в Name Box.

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

На вкладке Developer в Microsoft Excel нажмите Visual Basic. Откроется окно Редактор Visual Basic.

Вставьте новый модуль и создайте диагональную матрицу из данных в testData. Чтобы вставить модуль, выберите Insert > Module. В секции кода введите этот код VBA, содержащий макрос с именем Diagonal.

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

The 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

См. также

| |

Похожие темы