Этот пример показывает, как выполнить функции 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
.
MLEvalString
| MLPutRanges
| diag