MLGetMatrix

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

Синтаксис

= MLGetMatrix(var_name,edat)
MLGetMatrix var_name, edat
out = MLGetMatrix(var_name,edat)

Описание

= 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.

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

var_name

Имя матрицы MATLAB для доступа.

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

edat

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

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

Выходные аргументы

out

0 если команда, за которой следуют. В противном случае, код ошибки строки, содержащей.

Примеры

свернуть все

Запишите содержимое матрицы MATLAB bonds запуск в ячейке C10 из Sheet2. Если bonds 4 3 матрица, ячейки C10..E13 заливки с данными:

MLGetMatrix("bonds", "Sheet2!C10")

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

MLGetMatrix(B12, B13)

Запишите содержимое матрицы MATLAB A к рабочему листу, запускающемуся в ячейке, назван RangeA:

Sub Get_RangeA()
MLGetMatrix "A", "RangeA"
MatlabRequest
End Sub

В макросе используйте Address свойство объекта области значений возвращено Cells VBA функция, чтобы задать, где записать данные:

Sub Get_Variable()
MLGetMatrix "X", Cells(3, 2).Address
MatlabRequest
End Sub

Используйте эту функцию, чтобы получить переменную A из MATLAB и протестировать, если команда, за которой следуют:

Sub myfun()
    Dim out As Variant
    
    out = MLGetMatrix("A", "A1")
    
    If out <> 0 Then
        MsgBox out
    End If
    MatlabRequest
End Sub

Если MLGetMatrix сбои, myfun отображает окно сообщения с кодом ошибки.

Советы

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

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

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

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

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

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

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

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

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