java調用matlab繪圖

來源:互聯網
上載者:User

標籤:matlab   main   pos   .so   ber   pre   win   style   java   

環境:

系統:kali linux 2017

java: 1.8

matlab:R2016b

idea:2016


1.編寫matlab指令碼:

drawplot.m

    %畫圖 自訂函數drawplot 參數 x y      function drawplot(x, y)        plot(x, y); %%使用matlab函數plot()作圖        grid on %網格顯示      xlabel(‘X軸值‘)      ylabel(‘Y軸值‘)      title(‘Java調用MatLab作圖例子‘)  

 

指令碼儲存到指定檔案夾

在matlab命令視窗:

>> deploytool

 


選擇Liberary Compiler

TYPE:java package

EXPORTED:選擇drawplot.m

修改類名為:Plotter

點擊package

檔案夾下面會多出剛才的工程,裡面有我們要要用的jar(xxx.jar)


在idea下建立工程:javaMatlab

libs檔案夾下有兩個依賴包:

---xxx.jar

---javabuilder,jar (在matlab安裝目錄\toolbox\javabuilder\jar\jarbuilder.jar)

package com.xh.matlab4java;import com.mathworks.toolbox.javabuilder.MWArray;import com.mathworks.toolbox.javabuilder.MWClassID;import com.mathworks.toolbox.javabuilder.MWComplexity;import com.mathworks.toolbox.javabuilder.MWNumericArray;import plotdemon.Plotter;/** * Created by root on 8/25/17. */public class PlotTest {    public static void main(String[] args) {        // TODO Auto-generated method stub        MWNumericArray x = null; // 存放x值的數組        MWNumericArray y = null; // 存放y值的數組        Plotter thePlot = null; // plotter類的執行個體(在MatLab編譯時間,建立的類)        int n = 20; // 作圖點數        try {            // 分配x、y的值            int[] dims = { 1, n };            x = MWNumericArray.newInstance(dims, MWClassID.DOUBLE,                    MWComplexity.REAL);            y = MWNumericArray.newInstance(dims, MWClassID.DOUBLE,                    MWComplexity.REAL);            // 定義 y = x^2            for (int i = 1; i <= n; i++) {                x.set(i, i);                y.set(i, i * i);            }            // 初始化plotter的對象            thePlot = new Plotter();            // 作圖            thePlot.drawplot(x, y);            thePlot.waitForFigures();        }        catch (Exception e) {            System.out.println("Exception: " + e.toString());        }        finally {            // 釋放本地資源            MWArray.disposeArray(x);            MWArray.disposeArray(y);            if (thePlot != null)                thePlot.dispose();        }    }}

 


注意:

選擇 Edit Configurations

添加運行環境參數

LD_LIBRARY_PATH=/opt/Matlab/runtime/glnxa64

 

否則會報錯:不能連結到 libmwmclmcrrt.so.9.1

至此配置完成,運行正常。

java調用matlab繪圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.