我正在尋找創建Mathematica Notebook文件的原型「Hello World」程序。如何在Java中創建Mathematica Notebook?
我有這個工作計劃。
package graphica;
import com.wolfram.jlink.*;
/**
*
* @author Nilo
*/
public class MathematicaTester {
public static void main(String[] args) {
KernelLink ml = null;
String jLinkDir = "C:\\Program Files\\Wolfram Research\\Mathematica\\8.0\\SystemFiles\\Links\\JLink";
System.setProperty("com.wolfram.jlink.libdir", jLinkDir);
try {
ml = MathLinkFactory.createKernelLink("-linkmode launch -linkname 'C:\\Program Files\\Wolfram Research\\Mathematica\\8.0\\MathKernel.exe'");
ml.discardAnswer();
String expr = "Sum[k^2,{k,1,11}]";
ml.evaluate(expr);
ml.waitForAnswer();
String x = ml.getString();
System.out.println("Result = " + x);
} catch (MathLinkException e) {
System.out.println("Fatal error opening link: " +
e.getMessage());
return;
}
}
}
當我運行這個時,我得到以下-expected-輸出。
運行:
結果= 506
生成成功(總時間:2秒)
問題:
我想,從而創建一個Mathematica筆記本改變這種程序。程序將(最終)在mma命令字符串的後面添加行。如果一個Mathematica前端同時啓動,並且通過Java程序的請求來評估mma代碼,那將會很不錯。基本的是創建一個可以在後期由mma前端打開的Notebook。
我不知道Mathematica,但如果筆記本就像一個項目文件,你必須知道它的結構。如果它是二進制的,那麼你必須對它進行反向工程......官方網站(或任何非官方的網站)是否對此有任何說明? – zeller
@david - Mathematica - Java集成基於J/Link。我瀏覽過文檔,但沒有找到我需要的內容。 - 我想確保我沒有錯過任何東西,或者在我開始黑客攻擊之前可以在這裏獲得HelloWorld。 –
@niloderoock Mathematica筆記本實際上是純文本,因此您可以通過使用文本編輯器查看底層結構來獲取底層結構。我無法幫助你的Java位。 – Verbeia