我試圖得到一個圖片從數學的。 我嘗試評估使用方法在包中生成圖形一些數學代碼。 如果我的代碼粘貼到一個Mathematica筆記本圖形正確生成。圖像從數學到Java
所以我的問題:
我如何獲得此圖形爲Java ???
這裏是我的示例代碼:
ml = MathLinkFactory.createKernelLink("-linkmode launch -linkname 'F:\\APPS\\Wolfram
Research\\Mathematica\\7.0\\mathkernel.exe'");
ml.addPacketListener(new MyPacketListener());
ml.discardAnswer();
PacketListener stdoutPrinter = new PacketPrinter(System.out);
ml.addPacketListener(stdoutPrinter);
// In stringList there is all the INPUT for Mathematica
for (int i = 0; stringList.size() > i; i++)
{
System.out.println("Input" + "[" + i + "]" + stringList.get(i));
ml.evaluate(stringList.get(i));
ml.discardAnswer();
}
ml.close();
class MyPacketListener implements PacketListener {
public boolean packetArrived(PacketArrivedEvent evt)
throws MathLinkException {
if (evt.getPktType() == MathLink.TEXTPKT) {
KernelLink ml = (KernelLink) evt.getSource();
System.out.println(ml.getString());
}
return true;
}
輸出爲:
<<CIP`ExperimentalData`
<<CIP`MLR`
dataSet = CIP`ExperimentalData`GetQSPRDataSet02[];
CIP`Graphics`ShowDataSetInfo[{"IoPairs", "InputComponents", "OutputComponents"},
dataSet];
Number of IO pairs = 2169
Number of input components = 130
Number of output components = 1
mlrInfo = CIP`MLR`FitMlr[dataSet];
mlrInfoInInputForm = InputForm[mlrInfo];
pointSize = 0.025;
CIP`MLR`ShowMlrSingleRegression[{"ModelVsDataPlot", "CorrelationCoefficient"},
dataSet, mlrInfo, GraphicsOptionPointSize -> pointSize];
(*-Graphics-*)
(*
Out 1 : Correlation coefficient = 0.999373
*)
pointSize = 0.01;
CIP`MLR`ShowMlrSingleRegression[{"AbsoluteSortedResidualsPlot",
"AbsoluteResidualsStatistics", "RMSE"},
dataSet, mlrInfo, GraphicsOptionPointSize -> pointSize];
(*-Graphics-
Definition of 'Residual (absolute)': Data - Model
-1
Out 1 : Residual (absolute): Mean/Median/Maximum Value = 1.4/9.84 × 10 /
1
> 1.79 × 10
Root mean squared error (RMSE) = 2.063
*)
我如何獲得這些-Graphics-?
感謝您的幫助!
有產生從Mathematice圖片,進入Java中,這就像evaluateToImage()方法。但我的問題是,加載的包中的方法生成我的圖像,而不是Java方法。 – Jujo 2011-06-16 17:07:39