MLGetMatrix

Запишите содержимое матрицы MATLAB к рабочему листу Microsoft Excel

Описание

пример

= MLGetMatrix(var_name,edat) пишет содержимое MATLAB® матричный var_name в Excel® рабочий лист, начинающийся в верхней левой ячейке, задан edat. Используйте этот синтаксис при работе непосредственно в рабочем листе.

пример

MLGetMatrix var_name, edat пишет содержимое матрицы MATLAB var_name в рабочем листе Excel, начинающемся в верхней левой ячейке, задан edat. Используйте этот синтаксис в макросе VBA.

out = MLGetMatrix(var_name,edat) позволяет вам найти ошибки, когда вы выполняетесь MLGetMatrix функция в макросе VBA. Если MLGetMatrix функционируйте сбои, затем out строка, содержащая код ошибки. В противном случае, out 0.

Примеры

свернуть все

Доступ к содержимому матрицы в MATLAB и записи содержимое к рабочему листу. Задайте имя матрицы и конечных ячеек явным образом.

Задайте 4 3 матричный A в MATLAB.

A = [1,2,3;4,5,6;7,8,9;10,11,12]
A =

     1     2     3
     4     5     6
     7     8     9
    10    11    12

Откройте Excel и убедитесь ячейка A1 выбран в рабочем листе. Записать содержимое матрицы MATLAB A запуск в ячейке A3 из рабочего листа Sheet1, введите этот текст в ячейке A1 и нажмите Enter:

= MLGetMatrix("A","Sheet1!A3")

MLGetMatrix функционируйте заполняет ячейки A3 через C6 с данными из матрицы.

Worksheet cells A3 through C6 contain numbers 1 through 12 and cell A1 contains 0.

Доступ к содержимому матрицы в MATLAB и записи содержимое к рабочему листу. Задайте место назначения для матричного содержимого при помощи ссылки на ячейку.

Задайте 4 3 матричный A в MATLAB.

A = [1,2,3;4,5,6;7,8,9;10,11,12]
A =

     1     2     3
     4     5     6
     7     8     9
    10    11    12

Откройте Excel и введите имя матрицы в ячейке A1.

Worksheet cell A1 contains the name of the matrix A.

Введите ссылку для конечной ячейки A6 в ячейке A2.

Worksheet cell A1 contains the name of the matrix A and cell A2 contains the cell reference A6.

Убедитесь ячейка A4 выбран. Доступ к матрице MATLAB называет строка в ячейке A1 и запишите содержимое матрицы к рабочему листу при помощи ссылки в ячейке A2. Введите этот текст в ячейке A4 и нажмите Enter:

= MLGetMatrix(A1,A2)

MLGetMatrix функционируйте заполняет ячейки A6 через C9 с данными из матрицы.

Worksheet cells A6 through C9 contain numbers 1 through 12. Cell A1 contains the matrix name A. Cell A2 contains the name of the cell A6, and cell A4 contains 0.

Доступ к содержимому матрицы в MATLAB и записи содержимое к рабочему листу с помощью макроса VBA.

Задайте 4 3 матричный A в MATLAB.

A = [1,2,3;4,5,6;7,8,9;10,11,12]
A =

     1     2     3
     4     5     6
     7     8     9
    10    11    12

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

В меню Insert выберите Module, чтобы вставить новый модуль. В окне Module1 введите этот код VBA, содержащий макрос под названием GetMatrix.

Sub GetMatrix()
    MLGetMatrix "A","B2"
    MatlabRequest
End Sub

MatlabRequest инициализирует внутренние переменные Spreadsheet Link™ и включает MLGetMatrix работать в стандартной подпрограмме.

GetMatrix макрос использует MLGetMatrix функционируйте, чтобы получить доступ к содержимому матричного A от рабочего пространства MATLAB. Затем функция пишет содержимое матрицы, запускающейся в ячейке B2. Для получения дополнительной информации о работе с модулями, смотрите Excel Help.

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

MLGetMatrix функциональные доступы содержимое матрицы и пишут им в рабочий лист.

Входные параметры

свернуть все

Имя матрицы MATLAB для доступа в виде строки. var_name в кавычках непосредственно задает матричное имя. var_name без кавычек задает адрес ячейки рабочего листа (или имя диапазона), который содержит матричное имя. Не используйте переменную MATLAB ans как var_name.

Пример: "A"

Пример: A2

Местоположение данных в рабочем листе, где функция пишет содержимое var_nameВ виде строки.

edat в кавычках непосредственно задает местоположение. edat без кавычек задает адрес ячейки рабочего листа (или имя диапазона), который содержит ссылку на местоположение. В обоих случаях, edat должен быть адрес ячейки или имя диапазона.

Пример: "B2"

Пример: A6

Советы

  • Если данные существуют в заданных ячейках рабочего листа, они перезаписываются.

  • Если размерности матрицы MATLAB больше, чем та из заданных ячеек, переполнения данных в дополнительные строки и столбцы.

  • edat не должен включать ячейку, которая содержит MLGetMatrix функция. Другими словами, бойтесь перезаписывать саму функцию. Также убедитесь, что рабочий лист имеет достаточно комнаты, чтобы записать матричное содержимое. Если существует недостаточная комната, функциональные сбои выполнения, потому что данные имеют слишком много строк или столбцов. Для получения дополнительной информации об ошибках в рабочем листе, смотрите Ошибки Ячейки Рабочего листа.

  • MLGetMatrix функция автоматически не настраивает адреса ячеек. Если edat явный адрес ячейки, отредактируйте его, чтобы откорректировать адрес, когда вы делаете любое из следующего:

    • Вставьте или удалите строки или столбцы.

    • Переместите или скопируйте функцию в другую ячейку.

  • Если режим вычисления рабочего листа является автоматическим, MLGetMatrix выполняется, когда вы вводите формулу в ячейку. Если режим вычисления рабочего листа является ручным, введите MLGetMatrix функция в ячейке, и затем нажимает F9, чтобы выполнить его. Однако нажатие F9 в этой ситуации может также выполниться, другой рабочий лист функционирует снова, и сгенерируйте непредсказуемые результаты.

  • Если вы используете MLGetMatrix в макро-стандартной подпрограмме введите MatlabRequest на линии после MLGetMatrix команда. MatlabRequest инициализирует внутренние переменные Spreadsheet Link и включает MLGetMatrix работать в стандартной подпрограмме. Не включайте MatlabRequest в макро-функции, если функция не вызвана от стандартной подпрограммы.

  • Чтобы работать с кодом VBA в Excel с Spreadsheet Link, необходимо включить Spreadsheet Link как ссылку в Microsoft® Visual Basic Editor. Для получения дополнительной информации смотрите Установку.

Представлено до R2006a