java调用matlab怎么调用函数报错不能加载mmreaderudd.dll

本人java初学者,现在实验要求java调用自定义matlab函数,自定义函数在matlab中执行时结果是几个没有关系的数据和几个数据区间,有没有办法实现在java中添加jar之后调用matlab函数将结果一次全部显示在java控制台上呢?如果用数组的话太麻烦了。求指教。
matlab有一个MATLAB Builder for Java工具,可以把matlab的m文件build成class文件并生成jar包,然后java程序就可以使用这个jar包中的类了。
相当于用工具把matlab代码转换成java代码,并编译后打包,java程序直接使用这个jar包即可。
详细方法可以参考下面的文章:
已解决问题
未解决问题java调用matlab报错_百度知道
按默认排序
在命令行窗口输入://www.在&#92;&quot:&#92,你自己试一下,这个是这个atlas_Athlon,这些是对应处理器的数值运算优化文件,把这句的&#47.com/matlabcentral/answers/41442" target="_blank">http.mathworks.mathworks。 三;&&#92.dll(AMD系列的请用这个.com/matlabcentral/newsreader/view_thread/122803" target="_blank">/link. Could not parse the file:! 故障二,选择属性:matlab一打开随即自动关闭 解决方法,重新安装;ccslink&#92.name&gt:这个X是你的matlab的安装盘符://&#92.com/matlabcentral/answers/41442)可能原因是Matlab升级或者系统重装造成函数版本不匹配;Matlab7&#92;&quot.mathworks,找到有一行这样的&lt、如果上述方法不行;&#92;ccslink&#92你好:atlas_Athlon、其他参考答案(http.baidu://www.右击我的电脑;matlab7&#92.com/matlabcentral/newsreader/view_thread/122803?url=lT4B45Qah_ljTvZzc2rR-RiwjAsVq2HTIF9rYegYPVRIMhLsV7HclC4sFlsBT4_Cx9sAgpF1YzE_oc26R_2Ojq);&#47,可能出现这个故障;Link for Code Composer Studio:故障一;win32&#92;name&gt。假设你的CPU不是P4,大概是在第七行吧:打开matlab就出现如下的提示 The element type & 3;bin&#92;info:BLAS_VERSION 变量值.在系统变量下面添加如下内容(按&#92://&matlab7&#92,一定要用写字板打开这个文件 : 首先请确认你的MATLAB的文件夹中有如下文件;toolbox&#92: 例如,其他的CPU也有相应的问题件;toolbox&#92。二.com/改成&lt:&#92.第一个问题解决后;info: 1;name&gt,换句话说;ccslink&#92:&#92;高级&#92.mathworks.dll (注;&&#92;选项卡中点击&#92,就在MATLAB文件夹下).xml 这个文件./name&; must be terminated by the matching end-tag &quot:X;环境变量&#92,而是AMD的ATHLON那么修改的方法就是. 解决方法是;): 变量名,<a href="&quot:以管理员身份启动M;ccslink&#92.dll 的路径,所日无法实验;&quot://www,再保存一下这文件。一://新建&#92. 2。希望能解决您的问题。然后请按如下步骤进行、有2个人出现了类似的问题(<a href="http,希望对你有用,自己对着改一下)然后运行你的MATLAB吧。你说的问题我没遇到,在网上查了一些相关的资料。给出的解决办法如下
其他类似问题
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁11732人阅读
&&& 前段时间摸索了java调用matlab东西,不说学的有多深,也算有结果了,达到目的了。也即用java程序可以调用matlab中函数了。
&&& 按顺序说吧,最开始肯定是下个matlab看看。下哪一个呢。开始下一个7.0觉得很新了。后来才觉得不是,现在都有7.8了。同时网上还流传着另外一种版本号信息,即2006版、 2006a版、2008b版,后来从网上找资料才知道,原来,matlab是一年两版的,叫a版和b 版。比如MATLAB 7.2 (Release 2006a),我下的是m7.8即2009a版。网上有对应关系,有兴趣可以找一下。
&&& 先说明一下,我用java调用matlab用的是matlab人提供的,MABLAB BUILDER JA工具,还要告诉你,这工具2006b版以前是没有的,我想以前java可能通过JNI通过c来调用matlab的。所以你下载时要注意版本了。还有一点要说明下,如果你用的是AMD的处理器,不是intel的处理器,安装matlab后,可能不能运行,具体表现是,一打开就关闭了。我公司机器用就是AMD的处理器,解决办法其实也很简单,就是给你的机器新建立一个系统变量,变量名是BLAS_VERSION,变量值是D://MATLAB7//bin//win32//atlas_Athlon.dll(你的matlab安装地址)。
&& 然后,就是我们学着用MABLAB BUILDER JA了,开始不知道看matlab帮助,只是从网上看别人写的东西,关于这样的文章基本上出自一个娘胎,我不明白的地方,都一样的没有。后来看到了matlab帮助文档了,确实兴奋了一把,那才是最正宗的。下面我就试着按照它的说明一步一步说一下。
& & 先来,介绍一下MATLAB& Builder& JA吧,它是 MATLAB& Compiler&的扩展产品,用它你可以把你的m-code文件包装起来,并打包到一个多个class文件中,这样的你的java程序就能用matlab了,其实是这样的,m-codeiv当然就是你想调用的matlab程序了。
&& 要说明一点,如果你只是在安装matlab的机器上,用java调用运行由MATLAB& Builder& JA生成的jar包,当然可以。
&& 如果你要在没有安装matlab的机器上用java调用这些jar包,怎么办?也是可以的,不过,不过你要先在机器上安装matlab提供的MATLAB Compiler Runtime (MCR),它的安装文件在C:/Program Files/MATLAB/R2009a/toolbox/compiler/deploy/win32下(你的安装目录下)文件名MCRInstaller.exe。
&& 准备工作:
&& java环境,JAVA_HOME设置正确。还有一点你jdk版本要是1.6以上的,1.5可能有错。
&& 关键部分来了,在这部分你可以,通过一个例子,看到一个M-code function转变成为java可调用组件。
&& 这个例子的名字叫,magic square,这个例子让你学会如何,创建一个叫magicsquare 的java组件,它主要包括一个 magic class,和一个jar文件,还有其它上些发布组件用到的文件。magic .class是最关键的,就是它包装了, MATLAB 的函数 makesqr, makesqr函数是计算魔方数组用的,后面我们就是java程序,调用这个函数。
&&& MATLAB Builder JA,可以通过在matlab命令,deploytool 调出,在这之间,为了验证matlab已能得到你的java环境了,你可以用,getenv JAVA_HOME来验证一下,能返回你的JAVA_HOME就是正确的了。
&&& 这个例子的,m代码和java代码,matlab都帮我们写好了。你现在需要做的就是把它的代码拷贝你的工作空间中,它是例子在
&&& matlabroot /toolbox/javabuilder/Examples/MagicSquareExample .
&& matlabroot就是matlab的安装目录。
&&& 拷贝MagicSquareExample这个文件夹到你工作空间, for example, D:/javabuilder_examples
&&& 记得不要有空格。把MagicSquareExample子目录改名为 magic_square,现在的文件结构应该是 D:/javabuilder_examples/magic_square .没错的话。然后把matlab工作空间转到D:/javabuilder_ examples/magic_square。 最后,要用m-code function我们要先测试它,打开makesqr.m文件,然后在matlab命令行中,输入 makesqr(5),看看结果是不是
17&24&&1&&8&15deploytool 调出 MATLAB Builder JA,它应该是如下这个样子, 然后你选择MATLAB BUILDER JA,新建一个工作,点击Browse按钮把你的工作放在D:/javabuilder_examples/magic_square.输入magicsquare 作为工程名称。默认工程名字也是D:/javabuilder_examples/magic_square目录下的包名。MATLAB Builder JA 分配classes存放的文件夹名是按工程名称来设置的,所以在本工作中,Magicsquare 就是作为,calsses存放目录名称了,我们要手动改它名字为,class,直接右击就可以改了。(这也是我以前看别人文章的,老找不到他们所谓的class文件夹的原因,也没人说这个问题)工作建好以后,你可以setting你的工程,matlab的指南上说,让我们把Generate Verbose Output 选项选上,这样就能看到出错信息,实际上它默认是选择的。然后,把m文件添加到工程中,在matalb中找到makesqr.m 文件把它,用鼠标拖到工程的magic文件夹下。然后保存工程。下面就是构建工程,点击面板上方 按钮,等待一会,matlab就会你的工程目录下,创建src 和distrib两个文件夹。 src目录中包括有,生成的java文件,magic.class。distrib目录中包括有java存档文件,magicsquare.jar。
23&&5&&7&14&16&4&&6&13&20&2210&12&19&21&&311&18&25&&2&&9下面就是把m-code函数创建成一个java组件。用刚才说的,
接下来,就是验证你用matlab builder ja生成的java组件是不是能用的时候了。
先在你的java ide中建立一个java工程,然后把刚才生成的magicsquare.jar,还有,matlabroot/toolbox/javabuilder/jar/javabuilder.jar加入你的java工程构建路径中去。
然后你把D:/javabuilder_examples/magic_square/MagicDemoJavaApp下的getmagic.java测试文件拷贝到你java工程下,然后直接运行它。具体是怎么调用的,你看一测试代码就知道了,很easy.
就可以测试了。它是提示你输入一个数。如输入5,回车得到
Magic square of order 5
17&24&&1&&8&1523&&5&&7&14&16&4&&6&13&20&2210&12&19&21&&311&18&25&&2&&9
就正确了。
最后补充一点,我在公司机器上运行这个例子时,能出结果,但出结果前,老是报
这个错,但在我家,自己的机器上就没有这个错误,要说明一点的是,我家自己机器上用的INTEL的cpu,公司用的是AMD的,其它没什么区别。也不知是什么原因。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:44849次
排名:千里之外
原创:26篇
评论:26条
(1)(2)(2)(1)(3)(2)(2)(1)(4)(2)(1)(3)(1)(3)Linux 环境下Java调用matlab小结_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Linux 环境下Java调用matlab小结
来源:Linux社区&
作者:linxue968
由于工作需要,需在Linux环境下用Java调用matlab,此中遇到诸多问题,现记录下来,以备不日之需
1,安装虚拟机,我用的是vmware workstation 9.10版本,linux版本用到的是6.0 64位系统,安装开发者界面,这样可以免除安装eclipse的繁琐,但是也有问题,这个后面介绍。
2,安装matlab,此版本我用的是matlab2011b版本,这一切相信大家都会安装比较顺利,不多说啦,最主要也是最要命的要属于系统配置了
3. jdk的安装,在cmd输入&java -version& 后,确实显示了java的相关信息,咨询同事后也说jdk是安装好的,默认安装的是1.6,但是我却找不到那该死的jdk安装的目录,也就没有办法配置JAVA_HOME了,后来不得已从下载了1.6版本的jdk,重新安装,很简单,现在版本是1.7的,为什么没有安装1.7呢,也是之前安装1.7出现了jdk跟eslipse中的不一致,eslipse中的是1.6的,编译出现问题,才安装的1.6安装之后,需要配置一下java_home等相关变量,共三个如下:
& [root@test src]# vi /etc/profile & & export JAVA_HOME=/usr/java/jdk1.7.0_05& & export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar& & export PATH=$PATH:$JAVA_HOME/bin& 之后输入 ". /etc/profile"可以在不重启电脑情况下可以使环境变量生效,上面的目录及版本相应改一下就可以此时在你的matlab中输入 &getenv JAVA_HOME&应该能得到JAVA_HOME的路径的,这是你就可以编译你的m文件成jar了,办法网上很多,不再熬述。4,在作了这下工作后,结果还是发现一个问题,如下org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: Failed to find the library libmwmclmcrrt.so.7.15, required by MATLAB Builder JA, on java.library.path.&This library is typically installed along with MATLAB or the MCR, its absence may indicate an issue with that installation or the current path configuration.The MCR version that this component is trying to use is: 7.15.
相信很多人都碰到过,者其实是还有一个变量你没有配置好,那就是LD_LIBRARY_PATH和XAPPLRESDIR加入如下环境变量,路径按照你自己的来改就可以了。LD_LIBRARY_PATH=/usr/local/MATLAB/R2011b/bin/glnxa64XAPPLRESDIR=/usr/local/MATLAB/R2011b/X11/app-defaultsLD_PATH=/usr/local/MATLAB/R2011b/runtime/glnxa64
export LD_LIBRARY_PATHexport XAPPLRESDIRLD_LIBRARY_PATH=$LD_PATH:$LD_LIBRARY_PATH
至此,再调试,结果出来了,哈哈,再有什么问题在一个个解决就ok了,祝你好运。
相关资讯 & & &
& (12/22/:27)
& (10/06/:23)
& (01月18日)
& (11/08/:08)
& (09/08/:09)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款两个月前,Java调用Matlab生成的jar文件可以使用,可现在不知怎么出错了,之前的正确代码也不能运行了_百度知道
两个月前,Java调用Matlab生成的jar文件可以使用,可现在不知怎么出错了,之前的正确代码也不能运行了
mathworks: Failed to find the runtime libraries:java显示错误.internal.MWMCR.toolbox.lang.javabuilder.java.toolbox.getMLorMCRRuntimeLibDir(MWMCR;clinit&(MWMCR.java:1564) at com.Exception.&lt.javabuilder, required by MATLAB Builder JA:1461)望大神指导.internal, on system path at com.MWMCR.mathworks
提问者采纳
&#92;mcr_root&R2012a&#92;matlabroot&gt://win32 或者 set Path=%Path%.&#92, C.cn/matlabcentral/newsreader/view_thread/296636原文是:&lt.;win32
&win32; with the version of the installed MCR (e;&#92;javabuilder&#92;toolbox&#92;version&&MATLAB&#92.mathworks:set Path=%Path%.;&lt.cn/matlabcentral/newsreader/view_thread/296636" target="_blank">http;Java Builder的位置;&version&gt, or &lt,参考网址;bin&javabuilder://www.lang. Either replace &bin&#92.Exception,你可以采用命令行的形式://www:&#92;&#92.&runtime&#92;s PATH bin&#92;&#92.g;jar&#92;MATLAB&#92; directories of either the MATLAB or MATLAB Compiler Runtime (MCR) installations have not been set up correctly on your Windows machine&#39,也可以把你的mcr的bin路径添加到path中.matlabroot&MATLAB Compiler Runtime) and &lt, required by MATLAB Builder JA: Failed to find t with the MATLAB installation directory on your machine (e;matlabroot&gt.jar还有一点: with the MCR installation directory (e:把你的matlab的bin的路径添加到系统的path路径中.R2008a);version&gt.. You can make the necessary runtime libraries visible to MATLAB-compiled componemcr_root&gt.g:///support/solutions/en/data/1-78FIKN/index, on system path这个错误显示的应该是你没有将Builder JA的路径包含在你的Java lib路径中,添加进去就行:, depending on whether you are developing against a local MATLABruntime&#92;MATLAB&#92:&#92.g.&#92;Program Files&#92;&#92;Program Files&#92..cn/support/solutions/en/data/1-78FIKN/index.mathworks, v78):You are receiving this error because the required &quot
提问者评价
其他类似问题
jar文件的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 matlab自定义函数调用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信