MATLAB® позволяет пользователям писать функции с несколькими выходными параметрами. Чтобы закодировать несколько выходных параметров в C#, используйте ключевое слово out.
Следующий код MATLAB берет несколько входных параметров (i1, i2, i3) и возвращает несколько выходных параметров (o1, o2, o3), после выполнения некоторых проверок и вычислений.
В этом примере первый ввод и вывод имеет тип double, и второй ввод и вывод имеет тип int. Третий ввод и вывод имеет тип char.
Чтобы развернуть эту функцию с программным обеспечением MATLAB Production Server™, необходимо написать соответствующий интерфейс метода в C#, с помощью ключевого слова out. Определение ключевого слова out заставляет аргументы быть переданными ссылкой. При использовании out гарантируйте, что и определение метода интерфейса и вызывающий метод явным образом задают ключевое слово out.
Типы данных выходного аргумента, перечисленные в вашем интерфейсе C# (ссылаемый с ключевым словом out), должны совпадать с типами данных выходного аргумента, перечисленными в вашей подписи MATLAB точно. Поэтому в интерфейсе C# (MultipleOutputsExample) и метод (TryMultipleOutputs) примеры кода, несколько выходных параметров перечислены (с соответствием с заданными типами данных) в том же порядке, как они перечислены в вашей функции MATLAB.
Функция MATLAB multipleoutputs
Интерфейс C# MultipleOutputsExample
После создания нового экземпляра MWHttpClient и клиентского прокси, объявляются переменные и вызывающий метод, multipleoutputs.
В методе multipleoutputs значения, соответствующие, каждый объявил, что типы передаются для вывода (1.2 для double, 10 для int и hello для string) к output1.
Отметьте применяющие лучшые методы кодирования, проиллюстрированные этим примером:
И подпись функции MATLAB и подпись метода интерфейса C# используют имя multipleOutputs. И MATLAB и код C# обрабатывают три входных параметров и три выходных параметров.
Интерфейс.NET MATLAB поддерживает прямое преобразование от массива double C# до MATLAB массив double и от string C# до массива символов MATLAB. Для получения дополнительной информации смотрите Преобразование Данных с C# и Типами MATLAB и Преобразование Между Типами MATLAB и Типами C#.