• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

java调用matlab绘图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一 注意事项

1: MatLab的版本必须是2006b+(包括2006b或更高版本),因为只有在这些版本中才有MATLAB Builder for Java(也叫Java Builder)。

2: 运行机器上必须装有JRE 并且版本要和MatLab自带的jre 大版本保持一致(位数也要保持一致)(大版本一致既可,比如同是1.6,或者1.7既可)

   查看MatLab 自带JRE版本位数方法:在MatLab中Command Windows中输入 【version -java】 命令查看。如图所示:

这里是 1.6.0_17-b04 版本的JRE 并且为64位的。(注意:这里之所以是64位的,取决于您当初下载的MatLab安装包的位数。

3:验证系统jdk jre,系统首先装有Java环境(不在叙述)。 验证jdk,jre版本位数。打开cmd 输入命令 【java -version】 

二 调用基本步骤

1:打开MatLab,HOME -》 新建脚本 打开Editor窗口。脚本内容如下:

%画图 自定义函数drawplot 参数 x y  
function drawplot(x, y)    
plot(x, y); %%使用matlab函数plot()作图    
grid on %网格显示  
xlabel(\'X轴值\')  
ylabel(\'Y轴值\')  
title(\'Java调用MatLab作图例子\') 

2:在计算机某个目录建个存放MatLab脚本及其后期编译出的java文件。例如:桌面\mjTest。保存脚本到此文件夹下。保存后,

在mjTest文件夹下多了一个drawplot.m文件。

3:在MatLab下Command Window下输入 【deploytool】 命令,打开部署工具Deployment Tool。新建一个工程demo.prj,设置路径为mjTest

既可,类型选择Java Package 点击确定。这时MatLab右侧自动打开了java部署窗口。

  

4: 选择Liberary Compiler

  TYPE: java package

  EXPORTED: 选择drawplot.m

  修改类名为:Plotter

  点击 package

  文件夹下面会多出刚才的工程,里面有我们要要用的jar(xxx.jar)

  

   

5: 新建工程并导包 

  在idea下新建工程:javaMatlab

  libs文件夹下有两个依赖包:

    ---xxx.jar

    ---javabuilder,jar (在matlab安装目录\toolbox\javabuilder\jar\jarbuilder.jar)

  

6: 新建ConnectMatLabTest.java:

    package com.xiami.test;  
      
    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 demo.plotter;  
      
    public class ConnectMatLabTest {  
      
        /**  
         * @param args  
         */  
        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();  
            }  
        }  
      
    }  

 

运行此类既可看到效果(Run -》 javaapplication),如下图所示:

 

原文:https://www.cnblogs.com/welhzh/p/5782912.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab-数字图像处理 基础发布时间:2022-07-18
下一篇:
[转贴]比较VC和Delphi发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap