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

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

Пример принимает, что MATLAB выполняется после Microsoft Excel, открывается. Для получения дополнительной информации смотрите, Запускаются и Spreadsheet Link Остановки и MATLAB.

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

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

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

Вставьте новый модуль и создайте диагональную матрицу из данных в testData. Чтобы вставить модуль, выберите Insert> Module. В Секции кода введите этот код 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 Editor от версии HTML документации.

Для получения дополнительной информации о работе с модулями, смотрите Excel Help.

Запустите макрос путем нажатия на Run Sub/UserForm (F5). Для получения дополнительной информации о рабочих макросах, смотрите Excel Help.

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

Смотрите также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте