import java.io.PrintStream; import matlabcontrol.MatlabProxyFactory; import matlabcontrol.MatlabProxy; import matlabcontrol.extensions.MatlabTypeConverter; import matlabcontrol.extensions.MatlabNumericArray; import matlabcontrol.MatlabConnectionException; import matlabcontrol.MatlabInvocationException; public class Transpose { public static void main(String[] args) throws MatlabConnectionException, MatlabInvocationException { PrintStream output = System.out; MatlabProxyFactory factory = new MatlabProxyFactory(); MatlabProxy proxy = factory.getProxy(); double[][] matrix = {{ 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }}; MatlabTypeConverter converter = new MatlabTypeConverter(proxy); MatlabNumericArray array = new MatlabNumericArray(matrix, null); converter.setNumericArray("matrix", array); proxy.eval("matrix = transpose(matrix);"); matrix = converter.getNumericArray("matrix").getRealArray2D(); for (int r = 0; r < matrix.length; r++) { for (int c = 0; c < matrix[r].length; c++) { output.printf("%.0f ", matrix[r][c]); } output.println(); } proxy.disconnect(); } }