【发布时间】:2013-01-28 20:05:13
【问题描述】:
如果我在 Mathematica 中打开一个笔记本并输入“nb=NotebookCreate[]”,它会按预期创建一个新的笔记本窗口。
但是,如果我在 C# 中尝试相同的命令,它会失败,并且不会打开新的笔记本窗口:
IKernelLink ml = MathLinkFactory.CreateKernelLink();
ml.WaitAndDiscardAnswer();
string cmd = @"nb = NotebookCreate[]";
string result = ml.EvaluateToOutputForm(cmd, 0);
// result is now "$Failed".
请注意,如果我传入“2+2”,它会返回“4”,这证明到 Mathematica 内核的链接运行良好。
【问题讨论】:
-
附注让这项工作令人惊奇的原因之一是我可以将调试信息从我的 C# 控制台应用程序泵入 Mathematica 中的交互式工作簿,尤其是交互式 3-D 图形。
-
在此示例中使用 C# 直接从盒子数据创建的笔记本,可能对您有些用处:stackoverflow.com/a/7321479/879601
-
如果您将其迁移到 mathematica.stackexchange.com,您可能会得到更好的响应——标记它以引起版主注意,如果您愿意,请提出此请求。
-
另一个可以提供帮助的链接:stackoverflow.com/a/8279901/879601
标签: c# .net .net-4.0 wolfram-mathematica mathlink