2 u013379032 u013379032 于 2016.04.07 21:19 提问

把matlab打包成jar在java中运行,小波变换运行不了

为了使整个过程一体化因此将.m文件打包成jar,不过报错了:


ERROR ...

wfilters ---> Invalid wavelet file : dmey.mat


{??? Error using ==> wfilters at 66
Invalid wavelet file : dmey.mat

Error in ==> wavedec at 33

Error in ==> tezheng at 23

}
... Matlab M-code Stack Trace ...
file C:\Users\airhand\AppData\Local\Temp\airhand\mcrCache7.14\tezhen0\toolbox\wavelet\wavelet\wfilters.m, name wfilters, line 66.
file C:\Users\airhand\AppData\Local\Temp\airhand\mcrCache7.14\tezhen0\toolbox\wavelet\wavelet\wavedec.m, name wavedec, line 33.
file C:\Users\airhand\AppData\Local\Temp\airhand\mcrCache7.14\tezhen0\Desktop\±ÏÉèÂÛÎÄ\±ÏÉèÊý¾Ý\ÌØÕ÷ֵ\tezheng.m, name tezheng, line
com.mathworks.toolbox.javabuilder.MWException: Error using ==> wfilters at 66
Invalid wavelet file : dmey.mat
at com.mathworks.toolbox.javabuilder.internal.MWMCR.mclFeval(Native Method)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.access$600(MWMCR.java:23)
at com.mathworks.toolbox.javabuilder.internal.MWMCR$6.mclFeval(MWMCR.java:902)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.mathworks.toolbox.javabuilder.internal.MWMCR$5.invoke(MWMCR.java:800)
at com.sun.proxy.$Proxy0.mclFeval(Unknown Source)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.invoke(MWMCR.java:475)
at tezheng.tezheng.tezheng(tezheng.java:212)
at deal.predeal.main(predeal.java:51)

求老司机帮一下忙。

5个回答

CSDNXIAOC
CSDNXIAOC   2016.04.07 21:23

eclipse4.3.2 export runnable jar file
然后把1_lib和生成的jar放在一起啊即可......
答案就在这里:java打包成运行jar
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

u013379032
u013379032 额,我是要把matlab里面的.m文件用于java中,就是用java使用Matlab里的函数进行运算,不是要导出个Jar包
一年多之前 回复
devmiao
devmiao   Ds   Rxr 2016.04.08 05:30
zhangshangui_2015
zhangshangui_2015   2016.04.08 08:49

那是因为matlab中的小波算法调用其它matlab的功能函数,你打jar包时需要把小波算法中年用到的其它方法(*.m)一起打包进去,matlab有很多內建函数

u013379032
u013379032   2016.04.12 16:56

谢谢各位辣,找到原因了因为之前的电脑是用的matlab2010b,。然后移植到了另一台电脑上面是matlab2015b就版本不谦和,但是我还是想问一下如果在没有装matlab环境的电脑上要怎么才能实现这些复杂的计算呢

wazirlee
wazirlee 打包成dll、jar或直接生成exe,但需要目标机安装MCR,这是免费软件。
一年多之前 回复
u013379032
u013379032   2016.04.12 16:55

谢谢各位辣,找到原因了因为之前的电脑是用的matlab2010b,。然后移植到了另一台电脑上面是matlab2015b就版本不谦和,但是我还是想问一下如果在没有装matlab环境的电脑上要怎么才能实现这些复杂的计算呢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!