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.

Перейдите на вкладку Developer в Microsoft® Excel, а затем нажмите Visual Basic. Визуальный базис® Откроется окно редактора.

Вставьте новый модуль и введите этот код VBA в Секцию кода окна. Этот пример кода принимает макрос с именем 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.

Перейдите на вкладку Developer в 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

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

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

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

свернуть все

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

Пример: "sum"

Пример: A1

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

свернуть все

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

По умолчанию, когда MLEvalString не удается, err содержит стандартную ошибку Spreadsheet Link, например #COMMAND. Чтобы вернуть ошибки MATLAB, выполните MLShowMatlabErrors.

Совет

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

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте