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

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

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

На вкладке 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.

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

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

| |

Похожие темы