Может ли Java использовать функцию построения графика Matlab в цикле while для динамического построения точки и сохранения изменения на одной фигуре без создания новой фигуры каждый раз? - PullRequest
0 голосов
/ 08 июня 2018

У меня проблема с моим смешанным программированием на matlab-java.Я упаковал один из моих файлов matlab m с именем plotDisData.m в jav-файл jar, который входит в этот файл.

  hold on
  plot(dx, dy,'ob')

Я использовал этот jar-файл в своем java-коде:

public void server(MathUtil mu) throws IOException, MWException {

        int port = 8888;
        ServerSocket server = new ServerSocket(port);
        while(true) {
            if(mu.getDisplacement().size() == 150)break;
            System.out.println("server waiting for you");
            Socket socket = server.accept();

            InputStream inputStream = socket.getInputStream();
            byte[] bytes = new byte[1024];
            int len;
            StringBuilder sb = new StringBuilder();
            while ((len = inputStream.read(bytes)) != -1) {
              sb.append(new String(bytes, 0, len,"UTF-8"));
            }
            System.out.println("get message from client: " + sb);
            JSONObject jobj = (JSONObject)JSONObject.parse(sb.toString());
            Accelerometer accel = new Accelerometer();

            accel.setAx(jobj.getDoubleValue("ax"));
            accel.setAy(jobj.getDoubleValue("ay"));
            accel.setAz(jobj.getDoubleValue("az"));
            mu.computeVelocity(accel);
            Displacement dis = mu.computeDisplacement(accel);

            dx = dis.getDx();
            dy = dis.getDy();

            MatlabPlotter mp = new MatlabPlotter();
            mp.plotDisData(dx, dy);


            socket.getOutputStream().write(dis.toString().getBytes());
            socket.getOutputStream().flush();
            List list = mu.getDisplacement();
            System.out.println("get message from client: " + sb);

            inputStream.close();
            socket.close();
            server.close();
        }
  }

Я поместил этот java-код в цикл while и сохранил точку графика (dx, dy).Этот код создает каждый раз фигуру для построения новой точки, но я хочу построить все точки на одной фигуре.Хотя я поместил команду «Hold on» в коде Matlab, похоже, что это не работает в Java.кто-нибудь знает, как решить эту проблему?Это почти убивает меня ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...