当在Java中使用MatLab函数时,由于语言语法的不同,Matlab返回多个数据时,想在Java中获取到并进行使用。查阅了网上资料,翻箱倒柜加上自己实战,得出方法如下:

如MatLab函数返回的是N个变量值,其中有单个的数值、一维数组、二维数组等。

在Java中,使用Object[] rs=cmatlab.matlabfun(n , ....);接受返回的参数。其中rs[k]代表返回列表中第k个返回的变量的值。

如果rs[k]是单个数值,比如Double型。则使用下面的方法转换为Java中的Double型数值。

Object[] rs=cmatlab.matlabfun(n,a,b);//n指返回的变量个数,a、b代表输入的参数,如果是数值型,则可直接输入
MWNumericArray mw=(MWNumericArray)rs[k]; //0<=k<n,假如要取返回列表中第k个返回变量的值 double db=mw.getDouble(); //如果rs[k]是单个数值 double[] db=(mw.getDoubleData()); //如果rs[k]是一维double型数组 int[][] db=(int[][])(mw.toIntArray()); //如果rs[k]是二维int型数组

如果不确定使用哪个,或者希望使用其他类型的转换,可使用IDE的代码自动补全功能进行智能提示,可查看MatLab返回列表存储的类型。

给IDE添加代码自动补全功能可查看教程:

Eclipse 代码提示功能设置

Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件

在Java中调用MatLab代码请查看上一篇博文:

使用ecilpse(Java)调用Matlab代码

Java中调用MatLab返回值的更多相关文章

  1. Java中使用有返回值的线程

    在创建多线程程序的时候,我们常实现Runnable接口,Runnable没有返回值,要想获得返回值,Java5提供了一个新的接口Callable,可以获取线程中的返回值,但是获取线程的返回值的时候,需 ...

  2. java中的方法返回值使用泛型,实现灵活的返回值类型

    痛点:      使用Mybatis框架的时候,想封装一个底层JDBC控制器,用于提供和Mybatis交互的增删改查接口(公用的接口),但由于公用的查询方法可能是用户自定义的任意一个和表对应的java ...

  3. 060、Java中定义有返回值有参数的方法

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  4. SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法

    1.SpringMVC中通过@ResponseBody.@RequestParam默认值,@PathVariable的用法 package com.kuman.cartoon.controller.f ...

  5. Java中使用MATLAB作图 .

    最近做一个项目,需要很多进行很多信号处理——小魏就是学软件的,对信号处理简直是个小白,最简单的实现就是傻瓜似的调用MATLAB的各种工具箱,达到目的就行. 同时,MATLAB是种解释性语言,执行效率比 ...

  6. C#中调用Matlab人工神经网络算法实现手写数字识别

    手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化  投影  矩阵  目标定位  Matlab 手写数字图像识别简介: 手写 ...

  7. paip.java 多线程参数以及返回值Future FutureTask 的使用.

    paip.java 多线程参数以及返回值Future FutureTask 的使用. 在并发编程时,一般使用runnable,然后扔给线程池完事,这种情况下不需要线程的结果. 所以run的返回值是vo ...

  8. java中调用dll文件的两种方法

    一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676   JNativ ...

  9. 在Java中调用Python

    写在前面 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单.恰好我在项目中就遇到了这个问题 ...

随机推荐

  1. ConvertLongToInstantUtil

    package com.test; import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneId ...

  2. Hive 报错信息及解决方法

    return code 2 为SQL报错. return code 1 一般为权限问题. 具体要看源码.

  3. hive默认配置 .hiverc

    -- 切换数据库 use database_name; -- 优化本地查询 set hive.fetch.task.conversion=more; -- 设置hive的计算引擎为spark set ...

  4. 在word2010中添加带滚动条的文本框

    由于文件内容过长,为了加强文章的可读性,可以添加一个带滚动条的文本框,既能使文章看起来干净整洁,同时也极大的提高了文章的可读性. 我这里对在word2010中文本框带滚动条作个介绍: 1. 打开wor ...

  5. C++ vector类型要点总结(以及各种algorithm算法函数)

    概述 C++内置的数组支持容器的机制,但是它不支持容器抽象的语义.要解决此问题我们自己实现这样的类.在标准C++中,用容器向量(vector)实现. 容器向量也是一个类模板.vector是C++标准模 ...

  6. JavaWeb xss攻击

    出处: http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html XSS 全称(Cross Site Scripting) 跨站脚 ...

  7. DetachedCriteria用法

    http://uule.iteye.com/blog/947923转载 在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查 ...

  8. POJ 2112—— Optimal Milking——————【多重匹配、二分枚举答案、floyd预处理】

    Optimal Milking Time Limit:2000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Sub ...

  9. ASP.NET WebForm 之 Ajax 请求后端处理

    概述 ASP.NET MVC中的异步用途非常广泛,操作起来也非常简单.前台请求异步请求 Controller下的Action 方法,后端返回ActionResult 即可.但是在ASP.NET Web ...

  10. code first关系表达

    1.一对多关系 [Table("classInfo")] public class ClassInfo { public int Id { get; set; } public s ...