В этом примере показано, как выполнить функции Spreadsheet Link™, чтобы экспортировать именованную область значений в рабочем листе к MATLAB® и создать диагональную матрицу с помощью макроса Microsoft® Excel® VBA.
Пример принимает, что MATLAB выполняется после Microsoft Excel, открывается. Для получения дополнительной информации смотрите, Запускаются и Spreadsheet Link Остановки и MATLAB.
Чтобы работать с кодом VBA в Excel с Spreadsheet Link, необходимо включить Spreadsheet Link как ссылку в Редакторе Microsoft Visual Basic®. Для получения дополнительной информации смотрите Установку.
В рабочем листе введите числа 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
.
diag
| MLEvalString
| MLPutRanges