В этом примере показано, как выполнить функции 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 SubDiagonal макрос экспортирует именованную область значений в переменную 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