1

Web 記事 (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());
4

6 に答える 6

6

標準の UNIXpatchツールをダウンロードして使用します。

patch -p0 <my_patch.diff
于 2009-10-17T07:26:51.907 に答える
4

そのパッチをファイルMatlabControl.javaに適用する必要があります。Unix では、それpatchを行うための標準プログラムがありますが、Windows には通常存在しません。

しかし、パッチ ファイルを見ると、非常に小さく、手動で簡単に変更できます。パッチ ファイルを見てください-。左の列にある行を削除する必要があります。が付いている行を+追加する必要があります。

MatlabControl.javaしたがって、次の行を調べて削除する必要があります。

matlab.fevalConsoleOutput(command, args, 0, null);

次の行を追加します。

//     matlab.fevalConsoleOutput(command, args, 0, null);
matlab.fevalConsoleOutput(command, args);

つまり、これは非常に小さくて単純な変更であり、 へのメソッド呼び出しの最後の 2 つの引数を削除するだけ fevalConsoleOutput()です。

patchWindows でコマンド (および他の多くの Unix ユーティリティ) が必要な場合は、 Cygwin をダウンロードしてインストールできます

于 2009-10-17T07:26:35.057 に答える
2

Eclipse などの開発ツールを使用している場合は、コンテキスト メニュー (右クリック) のオプションであるため、簡単に適用できます。[チーム] -> [パッチの適用] に移動します。それはうまくいくはずです。

于 2010-04-18T03:48:21.877 に答える
1

このパッチはとても小さいので、手で簡単に貼ることができます。

そのため、ファイルを開き、MatlabControl.java行 214 (先頭に が付い-ている行) を変更して、先頭に付いている行に合わせ+ます。

その後、コードは次のようになります。

    else{
//                    matlab.fevalConsoleOutput(command, args, 0, null);
        matlab.fevalConsoleOutput(command, args);
    }
于 2009-10-17T07:30:27.843 に答える
0

JMI (Java-to-Matlab Interface) の Matlab クラスとその fevalConsoleOutput メソッドについては、http: //UndocumentedMatlab.com/blog/jmi-java-to-matlab-interface/で説明されています。

于 2010-04-18T03:46:37.320 に答える