MLEvalString

Оцените команду MATLAB в MATLAB

Синтаксис

= MLEvalString(command)
MLEvalString command
err = MLEvalString(command)

Описание

пример

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

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

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

Получите матричный b из MATLAB в Excel®, ячейку A9. Введите этот текст в ячейке A7.

=MLGetMatrix("b","A9")

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

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

Кликните по вкладке Developer в Microsoft® Excel, и затем нажмите Visual Basic. Окно Visual Basic® Editor открывается.

Вставьте новый модуль и введите этот код VBA в Секцию кода окна. Этот пример кода принимает макрос под названием Diagonal. Для получения дополнительной информации при работе с модулями, смотрите Excel Help.

Sub Diagonal()

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

End Sub

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

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

Кликните по вкладке Developer в Microsoft Excel, и затем нажмите Visual Basic. Окно Visual Basic Editor открывается.

Вставьте новый модуль и введите этот недопустимый код VBA в Секцию кода окна. Этот пример кода принимает макрос под названием Diagonal. Для получения дополнительной информации при работе с модулями, смотрите Excel Help.

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 (F5). Для получения дополнительной информации на рабочих макросах, смотрите Excel Help.

Эта ошибка Spreadsheet Link™ отображения: #COMMAND!. Чтобы отобразить ошибки MATLAB, смотрите MLShowMatlabErrors.

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

свернуть все

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

Пример: "sum"

Пример: A1

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

свернуть все

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

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

Советы

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

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