Tag: matlab

如何在Matlab中直接增加Java堆大小?

我想通过Matlab命令直接增加Java堆大小,因为我需要动态控制,具体取决于环境。 我知道线程如何在MATLAB 6.0(R12)及更高版本中增加Java VM的堆空间 ,他们说这些版本使用java.opts文件,但我想直接用Matlab提示做同样的事情。 有很multithreading只能通过Matlab GUI或文件来改变参数,比如Matlab的博客文章Controlling the Java Heap Size 。 我有兴趣动态增加这些参数 heapSizeMemoryDefault = 521142272; % 512 MB assert(java.lang.Runtime.getRuntime.maxMemory > heapSizeMemoryDefault*2, ‘Java heap size too small’); runTimeMemoryDefault = 90116624; % about 890 MB assert(java.lang.Runtime.getRuntime.freeMemory > 90116624*2, ‘Java free memory size too small’); 如何在Matlab 2016a中直接增加Java堆大小?

如何将Java swing黑色背景工具栏集成到polaraxes中?

代码我尝试将缩短版的Altman的MATLAB 2013极地雷达系统代码集成到MATLAB 2016b极地实现中,因为我想在工具栏中使用黑色背景并使用水平滚动条进行缩放function。 前面的代码基本上使用了具有continuous-movement callback javax.swing.JSlider 。 当前错误来自’StateChangedCallback’,{@cbSlider,fp,imax}); 其中,轴imax行为与预期不符 close all; clear all; clc; % http://stackoverflow.com/q/40030096/54964 fp=figure(‘Name’, ‘Test’, … ‘Position’,[200 200 851 404],’Resize’,’off’); % only half circle in polaraxes although warp can do eclipses ThetaTicks = 0*pi:pi/10:1*pi; pax = polaraxes( ‘ThetaAxisUnits’, ‘radians’, … ‘ThetaLim’,[min(ThetaTicks) max(ThetaTicks)],… ‘Color’,’none’,… ‘GridAlpha’,1,… ‘GridColor’,[1 1 1],… ‘ThetaTick’, ThetaTicks, … ‘ThetaDir’, ‘counterclockwise’, […]

如何在Matlab中使用用户定义的Java类?

我已经阅读了有关如何执行此操作的文档和几个网站,但是Matlab似乎没有选择我添加到动态java类路径中的类。 我也没有使用正确的语法来正确构造对象。 我有一个类HandDB,用于创建此类型的对象并调用它的静态方法来连接到SQL数据库。 该类有一个空构造函数,不带参数。 该类是我在Netbeans中的一个项目中创建的包’nuffielddb’的一部分。 所有文件都在我的usb棒上,这是我的E:\驱动器…… 我希望能够使用包中的所有类。 该软件包包含在E:\ nuffielddb中。 我在Matlab中输入了以下命令: javaaddpath(‘E:\’); javaclasspath; % Output from java class path includes E:\ within dynamic path str = java.lang.String(‘Test’); % Works fine db = nuffieldbd.HandDB(); % Does not work – undefined variable or class error 有趣的是我键入’import nuffielddb。*;’ 并没有收到任何错误。 我哪里错了? 谢谢你的帮助顺便说一下!

从Matlab内部调用JAX-WS Web服务

我有一个Vanguard webservice,我可以使用自定义java类调用(使用基本身份validation)。 java wsimport工具用于生成java代理存根,这一切都很完美。 java代码(下面的所有类都是由wsimport根据url +身份validation信息生成的): Authenticator.setDefault(new SimpleAuth(username,pass)); MyWSObject obj = new MyWSObject(url); -> triggers the exception ServicePortType port = obj.getServicePort(); OutputType result = port.MyWSMethod(params); OutputData data = result.getOutputData(); 当我从matlab运行完全相同的java函数(包含上面的代码)时,webservice调用失败并出现一个模糊的错误: ??? Java exception occurred: com.sun.xml.internal.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ‘”‘ (code 34) in DOCTYPE declaration; expected a space between public and system identifiers […]

从Matlab调用Java时如何避免歧义?

我刚发现从Matlab调用Java时 object.method(arg1,…,argn) 相当于 method(object, arg1,…,argn) 这里的问题是我还有一个方法method.m ,它从Java到Matlab进行一些翻译(例如,将String[]转换为String[]单元格)。 我的方法看起来像 function result = method(object, arg1,…argn) intermediate = object.method(arg1,…argn); result = translate(intermediate); 发生的事情是当我调用method(object, arg1,…,argn) ,它执行直接Java调用,而不是使用我的方法method.m 修复很简单,只是不要对我的Java方法和我的.m文件使用相同的方法名称。 但还有另外一种方法吗? 如何知道在同名的情况下调用哪种方法? 有没有办法确保我调用method.m而不是Java方法? 它很容易确保调用Java方法,只需使用object.method语法。 作为旁注,同样愚蠢的是.m Editor链接到method.m上的method(object, arg1,…,argn)调用,而在调试它时调用Java方法。

清除Java内存

我正在使用Matlab 2012b连接到我导入数据的另一个程序(Imaris)。 通信实际上是通过java作为接口发生的。 我遇到的问题是数据不会从Java内存中删除并随着时间的推移而堆积起来,直到Matlab最终崩溃。 “clear Java”不起作用并产生以下警告:“Ice / ConnectionRefusedException类的对象存在 – 不清除” 我发现真正清除Java内存的唯一解决方案是重新启动Matlab,在我的情况下这不是一个选项。 在网上搜索时,我发现很多人都遇到了同样的问题。 ( http://www.mathworks.de/matlabcentral/newsreader/view_thread/283708 ) 但是我没有找到答案如何解决这个问题。 有人知道解决方案吗?

无法使用开放SSL解密RSA数据

我尝试使用openssl创建的公钥在matlab中加密一些数据 我用以下方法创建了密钥: openssl genrsa -des3 -out private.pem 1024 openssl rsa -in private.pem -pubout -outform DER -out public.der 我使用这个matlab代码(使用Java库)加密我的数据: import java.security.spec.RSAPublicKeySpec import javax.crypto.Cipher; import java.security.KeyFactory import java.math.BigInteger fid = fopen(‘public.der’); a = fread(fid); key = java.security.spec.X509EncodedKeySpec(a); kf = KeyFactory.getInstance(‘RSA’); KEY = kf.generatePublic(key); cipher = Cipher.getInstance(‘RSA/ECB/PKCS1Padding’); cipher.init(Cipher.ENCRYPT_MODE, KEY) plaintextBytes = [24]; ciphertext = cipher.doFinal(plaintextBytes)’ ; fid2 = […]

在Java中实现修改的Sketch生成

我在最后一年Engg.i希望实现草图生成算法,并对我的最后一年项目进行一些修改。为此,我希望访问和修改像素强度值(不是以RGB为单位,而是以数字表示为虽然算法在matlab中运行良好,但是由于项目的要求,我打算用Java来实现。 通过互联网和各种Java论坛没有帮助我。 Matlab代码允许我使用以下代码段访问像素 120,234处的像素强度值由“A(120,234)”给出,其中A是所考虑的图像的名称。 类似地,我想访问Java中图像的像素强度值,并使用算法修改它们。 如果有人帮助我,我会很高兴。 提前致谢

我们可以在任何其他没有Matlab的机器上部署matlab生成的java代码吗?

我从matlab生成了一个java代码,在Eclipse中执行java代码时,它在matlab编译器运行时使用mclmcrrt711.dll文件,当我尝试在没有matlab或matlab编译器的另一台机器上执行java代码时,它给出了我的错误:“java.lang.UnsatisfiedLinkError:无法在java.library.path上找到MATLAB Builder JA所需的库mclmcrrt711.dll”我尝试将mclmcrrt711.dll文件添加到库中并将系统路径设置为该dll文件位置(仅将.dll文件复制到没有matlab编译器的其他系统)。 我怎样才能克服这个错误? 请帮帮我。 提前谢谢Srikanth

Java串口写/发送ASCII数据

我的问题是我需要通过蓝牙在Java中控制移动机器人E-puck,通过发送命令如“D,100,100”来设置速度,“E”来获得速度等等。我有一些代码: String command = “D,100,100”; OutputStream mOutputToPort = serialPort.getOutputStream(); mOutputToPort.write(command.getBytes()); 所以用这种方法write我只能发送byte[]数据,但我的机器人不会理解。 例如,之前我一直在Matlab上使用这样的命令: s = serial(‘COM45′); fopen(s); fprintf(s,’D,100,100′,’async’); 或仅限程序Putty类型: D,100,100 `enter` 附加信息: 我也想通了,Matlab有另一个解决方案。 s = serial(‘COM45’); fopen(s); data=[typecast(int8(‘-D’),’int8′) typecast(int16(500),’int8′) typecast(int16(500),’int8′)]; 在这种情况下: data = [ -68 -12 1 -12 1]; fwrite(s,data,’int8′,’async’); 在Java中不一样吗: byte data[] = new byte[5]; data[0] = -‘D’; data[1] = (byte)(500 & 0xFF); data[2] = […]