我有这个补丁代码,我从一篇网络文章(从Java调用Matlab)下载。 http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html
但我不知道如何在我的windowsXp运行的计算机上应用它。 我要做的是从java调用Matlab脚本文件。我已经找到了必要的源代码和所有东西,但是这个东西正在坚持回来。 任何帮助都非常感谢。谢谢。
这是补丁代码。
Index: MatlabControl.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tools/java/net/tinyos/matlab/MatlabControl.java,v
retrieving revision 1.3
diff -u -r1.3 MatlabControl.java
--- MatlabControl.java 31 Mar 2004 18:43:50 -0000 1.3
+++ MatlabControl.java 16 Aug 2004 20:36:51 -0000
@@ -214,7 +214,8 @@
matlab.evalConsoleOutput(command);
}else{
- matlab.fevalConsoleOutput(command, args, 0, null);
+ // matlab.fevalConsoleOutput(command, args, 0, null);
+ matlab.fevalConsoleOutput(command, args);
}
} catch (Exception e) {
System.out.println(e.toString());
答案 0 :(得分:6)
我会下载标准的UNIX patch
工具并使用:
patch -p0 <my_patch.diff
答案 1 :(得分:4)
您需要将该修补程序应用于文件MatlabControl.java。在Unix上,你有标准的patch
程序来做这件事,但Windows上通常没有。
但是查看补丁文件,它非常小,您可以轻松地手动完成更改。查看补丁文件:必须删除左列中带有-
的行。必须添加+
的行。
因此,您必须查看MatlabControl.java
并删除此行:
matlab.fevalConsoleOutput(command, args, 0, null);
并添加以下行:
// matlab.fevalConsoleOutput(command, args, 0, null);
matlab.fevalConsoleOutput(command, args);
换句话说,这是一个非常小而简单的更改,您只需删除方法调用fevalConsoleOutput()
的最后两个参数。
如果您想在Windows上使用patch
命令(以及许多其他Unix实用程序),则可以下载并安装Cygwin。
答案 2 :(得分:2)
如果您使用Eclipse等开发工具,您可以轻松应用它,因为它是上下文菜单中的一个选项(右键单击)转到团队 - &gt;应用补丁。它应该工作。
答案 3 :(得分:1)
这个补丁很小,你可以轻松地手工涂抹。
只需打开文件MatlabControl.java
,然后更改第214行(-
前面的那一行)以适合+
前面的行。
之后,您的代码应如下所示:
else{
// matlab.fevalConsoleOutput(command, args, 0, null);
matlab.fevalConsoleOutput(command, args);
}
答案 4 :(得分:0)
JMI(Java-to-Matlab接口)的Matlab类及其fevalConsoleOutput方法在这里解释:http://UndocumentedMatlab.com/blog/jmi-java-to-matlab-interface/
答案 5 :(得分:0)