exponenta event banner

MLEvalString

Вычислить команду MATLAB в MATLAB

Описание

пример

= MLEvalString(command) определяет команду MATLAB ® для анализа в рабочей области MATLAB. Этот синтаксис используется при работе в ячейке листа.

пример

MLEvalString command работает в макросе VBA.

пример

err = MLEvalString(command) возвращает состояние выполнения при выполнении MLEvalString в макросе VBA.

Примеры

свернуть все

Введите переменную a в ячейку A1. Введите числа от 1 до 5 в диапазон ячеек из B1 через F1.

Назначение диапазона ячеек переменной a в MATLAB с использованием MLPutMatrix. Введите этот текст в ячейку A3.

=MLPutMatrix(A1,B1:F1)

Worksheet cell A3 contains the entered text

Использовать diag для создания матрицы b, содержащий диагональ с использованием пяти чисел в переменной a. Введите этот текст в ячейку A5.

=MLEvalString("b = diag(a);")

Cell A3 contains 0 that indicates the successful execution of the MLPutMatrix function

Извлечь матрицу b из MATLAB в ячейку Excel ®A9. Введите этот текст в ячейку A7.

=MLGetMatrix("b","A9")

Матрица с диагональю появляется в ячейках A9 через E13.

Cell A7 contains 0 that indicates the successful execution of the MLGetMatrix function

Введите переменную a в ячейку A1. Введите числа от 1 до 5 в диапазон ячеек из B1 через F1.

Перейдите на вкладку Разработчик в Microsoft ® Excel и выберите Visual Basic. Откроется окно Редактор Visual Basic ®.

Вставьте новый модуль и введите этот код VBA в раздел Code окна. Этот пример кода предполагает макрос с именем Diagonal. Дополнительные сведения о работе с модулями см. в справке Excel.

Sub Diagonal()

    MLPutMatrix "a", Range("B1:F1")
    MLEvalString "b = diag(a);"
    MLGetMatrix "b", "A3"
    MatlabRequest

End Sub

Запустите макрос, щелкнув Run Sub/UserForm (F5). Диагональная матрица появляется в ячейках A3 через E7. Дополнительные сведения о выполнении макросов см. в справке Excel.

Worksheet cell A1 contains the variable a, cells B1 through F1 contain numbers 1 through 5, and cells A3 through E7 contain the diagonal matrix

Введите переменную a в ячейку A1. Введите числа от 1 до 5 в диапазон ячеек из B1 через F1.

Перейдите на вкладку Разработчик в Microsoft Excel и выберите Visual Basic. Откроется окно Редактор Visual Basic.

Вставьте новый модуль и введите этот недопустимый код VBA в раздел «Код» окна. Этот пример кода предполагает макрос с именем Diagonal. Дополнительные сведения о работе с модулями см. в справке Excel.

Sub Diagonal()

    Dim err As Variant

    MLPutMatrix "a", Range("B1:F1")
    err = MLEvalString("b = diag(2a);") 'Invalid code
    
    If err <> 0 Then
        MsgBox err
    End If

    MLGetMatrix "b", "A3"
    MatlabRequest

End Sub

Запустите макрос, щелкнув Выполнить Sub/UserForm на панели инструментов VBA. Дополнительные сведения о выполнении макросов см. в справке Excel.

Эта ошибка Link™ электронной таблицы отображает: #COMMAND!. Для просмотра ошибок MATLAB см. MLShowMatlabErrors.

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

свернуть все

Вычисляемая команда MATLAB, заданная как строка. Заключите строку в двойные кавычки. Или введите строку в ячейку без кавычек и введите соответствующую ссылку на ячейку без кавычек в качестве входного аргумента.

Пример: "sum"

Пример: A1

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

свернуть все

Состояние выполнения, возвращаемое в виде строки или числа. Если MLEvalString не удается, то err - строка, содержащая код ошибки или сообщение об ошибке. В противном случае команда выполняется успешно и err является 0.

По умолчанию, когда MLEvalString сбой, err содержит стандартную ошибку связи с электронной таблицей, такую как #COMMAND. Для возврата ошибок MATLAB выполните команду MLShowMatlabErrors.

Совет

  • Указанное действие изменяет только рабочую область MATLAB и не влияет на рабочую область Microsoft Excel.

  • Для работы с кодом VBA в Excel со ссылкой на электронную таблицу необходимо включить ссылку на электронную таблицу в качестве ссылки в редакторе Microsoft Visual Basic. Дополнительные сведения см. в разделе Установка.

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