主要内容

本页采用了机器翻译。点击此处可查看英文原文。

Java 客户端编写多个输出代码

MATLAB® 允许用户编写返回多个输出的函数。

例如,考虑这个 MATLAB 函数签名:

function [out_double_array, out_char_array] =  
                 multipleOutputs (in1_double_array, in2_char_array) 

在 MATLAB 签名中,multipleOutputs 有两个输出(out_double_arrayout_char_array)和两个输入(分别为 in1_double_arrayin2_char_array)- 一个双精度数组和一个字符数组。

为了从 Java® 调用该函数,客户端程序中的接口必须将函数的输出数量指定为函数签名的一部分。

预期输出参数的数量定义为整数类型(int),并且是函数中的第一个输入参数。

在这种情况下,Java 中的匹配签名是:

public Object[] multipleOutputs(int num_args, double[] 
                        in1Double, String in2Char);
其中 num_args 指定函数返回的输出参量的数量。所有输出参数均在 Object 类型的数组内返回。

注意

在编码多个输出时,如果通过 MATLAB 函数传递整数作为第一个输入参量,则必须将该整数封装在 java.lang.Integer 对象中。

请注意此示例说明的以下最佳编码实践:

  • MATLAB 函数签名和 Java 方法签名都使用名称 multipleOutputs。两个签名都定义了两个输入和两个输出。

  • MATLAB Java 接口支持从 Java 双精度数组到 MATLAB 双精度数组的直接转换,以及从 Java 字符串到 MATLAB 字符数组的直接转换。有关详细信息,请参阅Java 类型到 MATLAB 类型的转换

有关详细信息,请参阅Java 客户端编码最佳实践