Tag: matlab

Matlab和Java集成

我在MATLAB中完成了图像处理,并用Java构建了我的GUI。 我想将MATLAB集成到Java中。 我想将MATLAB Builder用于此目的。 我也想用神经网络进行分类。 还有一些excel文件。 这段代码是否可能集成在Java中? 我的另一个问题是我想用MATLAB BuilderJA来了解它是如何工作的。 当我输入java -version命令时,它给了我这个错误。 ??? Attempt to execute SCRIPT java as a function: C:\Program Files\MATLAB\R2009b\toolbox\matlab\general\java.m C:\Program Files\Java\jdk1.6.0_21 当我使用build命令时,它给了我这个错误。 ‘javac’ is not recognized as an internal or external command, operable program or batch file. Error: An error occurred while shelling out to javac (error code = 1). Unable to […]

Matlab在jar包中看不到我的一些java类(不是全部)

我有一个让我疯狂的问题。 Matlab只看到我的一些类嵌入在JAR文件中 如果我在一个包之外编译类并使用javaaddpath在Matlab中添加该类的路径,我没有遇到任何问题 当我在一个包中编译该类然后尝试在Matlab下访问它时,我遇到了问题。 下面是一些Matlab代码 >>javaaddpath(‘/Users/me/Documents/workspace/EKGTest.jar’); >>clear java >>import com.neurosky.thinkgear.* >>methods(‘EkgSense’) Methods for class com.neurosky.thinkgear.EkgSense: EkgSense getClass notify reset addTemplate getClassificationResults notifyAll toString equals hashCode processData wait >>methods(‘EkgEpoch’) No methods for class EkgEpoch or no class EkgEpoch 现在,我查看包中,所有类都是公开的。 这是jar -tf的结果 osx:/Users/me/Documents/workspace> jar tf EKGTest.jar META-INF/MANIFEST.MF META-INF/REFACTORINGS.XML com/ com/neurosky/ com/neurosky/thinkgear/ com/neurosky/thinkgear/EkgEpoch.class com/neurosky/thinkgear/EkgEpoch.java com/neurosky/thinkgear/EkgParameters.class com/neurosky/thinkgear/EkgParameters.java com/neurosky/thinkgear/EkgTemplate.class com/neurosky/thinkgear/EkgTemplate.java […]

如何使用JAVA读取C / Matlab创建的二进制文件

我使用以下matlab代码创建了一个二进制文件: x is an array of int32 numbers n is the length of x fid = fopen(“binary_file.dat”, “wb”); fwrite(fid, n, ‘int32’); fwrite(fid, x, ‘int32’); fclose(fid); 我可以使用以下C代码来读取此文件: fp = fopen(“binary_file.dat”, “rb”); int n; fread(&n, 4, 1, fp);//read 4 bytes int *x = new int[n]; for (int i = 0; i < n; i++) { int t; […]

如何从Java运行MATLAB代码?

我在使用Java运行MATLAB代码时遇到了问题。 如果您对此有所了解,请帮帮我吗?

从MATLAB运行JavaScript命令以获取PDF文件

我正在编写一些MATLAB代码来与我公司的内部报告数据库进行交互。 到目前为止,我可以使用如下代码访问HTML抽象页面: import com.mathworks.mde.desk.*; wb=com.mathworks.mde.webbrowser.WebBrowser.createBrowser; wb.setCurrentLocation(ReportURL(8:end)); pause(1); s={}; while isempty(s) s=char(wb.getHtmlText); pause(.1); end desk=MLDesktop.getInstance; desk.removeClient(wb); 我可以从HTML文本中提取出最终在变量s中的各种信息,但是报告的PDF是通过我认为的JavaScript命令来访问的(onClick =“gotoFulltext(”,'[报告编号] “)“)。 关于如何执行此JavaScript命令并将PDF文件的内容转换为MATLAB变量的任何想法? (MATLAB位于Java之上,所以我相信Java解决方案可以工作……)

打开太多数字时如何避免MATLAB崩溃?

有时我会启动一个MATLAB脚本并意识到太晚了,它会输出太多数字。 最终我得到了一个 线程“AWT-EventQueue-0”中的exceptionjava.lang.OutOfMemoryError:Java堆空间 这可以很容易地在我的机器上使用 for i=1:inf figure; end 在使用128 MB Java堆的标准设置( 首选项/ Java堆内存 )崩溃之前,我得到大约90个数字,而将堆加倍到256 MB则给出了大约200个数字。 您是否看到了避免 Java错误消息的方法? 如果没有足够的内存供另一个人使用,我希望我的脚本能够被告知而不是崩溃。 也许我可以有一个figure包装器(不知何故?)检查有多少Java堆可用,如果没有足够的空间,哪些拒绝打开一个新数字? 更新 使用下面的答案,我得到了一个很好的图表,说明了有多少可用的内存Java: 这是使用 for i=1:inf java.lang.Runtime.getRuntime.gc fprintf(‘%3.0f: %1.0f Byte free\n’,i,java.lang.Runtime.getRuntime.freeMemory); figure; end 我假设开头的增加意味着垃圾收集每次调用它时只会做一些努力吗? 更新2 – 我的解决方案 使用我在这里获得的帮助,我实现了以下解决方案作为figure.m ,它重载并调用内置figure命令: function varargout=figure(varargin) memcutoff = 10E6; % keep at least this amount of bytes free memkeyboard= 3E6; % if […]

从MATLAB调用Java

我一直在使用Swig为用C ++编写的库创建Java包装器。 包装器生成一个包然后jar 。 文件编译正确并与java完美配合,但我无法从MATLAB中调用它。 我尝试在MATLAB中的静态Java路径文件中添加jar路径,然后调用jar文件中的类,但是我得到错误”Undefined variable or class..”或者如果我尝试使用javaObject(…) “No class * can be located on Java class path” 。 我不确定我做错了什么。 编辑: 为了测试从MATLAB调用c ++库,我创建了一个简单的“数据读取器”类,它包含一个将随机生成的vector< vector >写入文本文件的函数和一个读取它的函数。 生成的swig文件是: SimpleReader.java , DoubleVector.java , exampleJNI.java , example.java , com.example.reader包中的DoubleVector2.java 。 这些被编译并打包到example.jar (生成的库dll也被打包到jar中)。 一切正常,从java调用它所以问题必须特定于MATLAB。 MATLAB没有太多代码,因为似乎没什么用。 我得到了 javaclasspath(‘c:/reader/reader.jar’); obj = com.example.reader.SimpleReader; 此时我得到’Undefined variable “com” or class “com.example.reader.SimpleReader”‘

确定Matlab加载的java类的位置

当使用Matlab中的java时,有没有办法弄清楚matlab的java类路径在哪里被加载? 我正在尝试诊断由同时使用的同一类的冲突版本引起的错误。 具体来说,我正在寻找的类是org.apache.lucene.store.FSDirectory。 它似乎被其中一个matlab工具箱使用,但我不知道哪一个。

在Java对象中存储MATLAB结构

我在MATLAB中使用Java HashMap h = java.util.HashMap; 虽然字符串,数组和矩阵与它无关 h.put(5, ‘test’); h.put(7, magic(4)); 结构没有 h=java.util.HashMap; st.val = 7; h.put(7, st); ??? No method ‘put’ with matching signature found for class ‘java.util.HashMap’. 什么是使它适用于结构的最简单/最优雅的方法?

如何使用matlabcontrol.jar从Java调用用户定义的Matlab

我试图调用用户定义的Matlab函数(M文件),该函数从我在Eclipse中开发的Java应用程序中获取3个参数(Java字符串)。 目前,我能够使用disp或sqr等函数/命令调用proxy.eval和proxy.feval方法。 但是当我尝试调用用户定义的函数时,它在matlab控制台上说没有像这样定义的函数,并且在Java控制台MatlabInvocationException发生MatlabInvocationException 。 然后我尝试使用一个简单的用户定义函数,该函数不带参数,只有单行disp(‘Hello’)但结果仍然相同。 所以我认为不是类型转换问题,而是如何调用用户定义的函数。 请尽快有人帮帮我吗? 我很快就会完成这个项目的截止日期。 如果有人能提出解决方案,我会非常感激。 (Joshuwa Kaplan先生,有没有关于在你的post中解决这样的问题的指南?我试过但没有找到任何东西) 提前致谢