CDF(可计算文档格式):具有计算功能的文档,与您真实互动
« 查看全部常见问题

关于 Mathematica 编程的详细信息

Wolfram CDF Player 提供一个部署引擎,利用 Mathematica 动态界面功能创建用户界面驱动的应用程序。几乎所有在 Mathematica 中可用的编程和计算函数均可用于建立 CDF Player 的应用程序。但须注意的是,在保存为 FreeCDF* 时,有几个应用程序编程方面的限制。

控件与输入

所有互动内容必须通过 Manipulate 指令生成,只能使用鼠标驱动的控件(SliderLocatorCheckboxPopupMenu,等等)。

不支持非数值输入域。要避免使用 InputField[x, String]InputField[x, Boxes]InputField[x, Expression]InputField[x] 仅限于数值,可以使用 InputField[x, Number]

不支持对话窗口。要避免使用 InputInputString


数据导入与导出

除 Wolfram 精选的专业数据源(如 ChemicalDataCountryDataWordData)以外,CDF Player 内部不支持数据的导入与导出。注意:数据可在创作过程中预先加载到您的应用程序中(参见以下说明)。避免使用诸如 ImportImportStringExportStringReadListOpenReadOpenWriteOpenSQLConnection 等指令。由于 CDF Player 无法在运行时加载数据,您必须确保所有必要的信息已嵌入到互动元素中。嵌入的基本方法有两种:

  • Initialization:小型代码和数据块可以通过 Initialization 选项包含在 Manipulate 中,例如:
    Manipulate[myfunction[mydata,n],{n,0,1}, Initialization:>(myfunction[dat_,n_]:=...;mydata={...})];
  • SaveDefinitions:对于较大型的代码块、数据包或大型数据文件,最便捷的方法是:在创建 Manipulate 之前定义它们,然后利用 SaveDefinitions 选项将它们的状态存储在 Manipulate 内部,例如:
    <<MyPackage`
    mydata=Import[...];
    Manipulate[myfunction[data,n],{n,0,1},SaveDefinitions->True];

MathLink 运算

不支持包括 .NET/Link 在内的 MathLink 运算。避免使用诸如 InstallLinkConnectLinkOpenLinks 等指令。这包括链向远程 Mathematica 内核的链接,如 gridMathematica


替代前端

不支持内核替代前端,如可以在 Java、C/C++ 或 .NET 中编写的前端。

* Wolfram Player Pro 在免费的 Wolfram CDF Player 基础上进一步扩展,提供高级应用程序内容,比如数据导入和文本输入。请联系我们或者查看功能对比表以获取详细信息。



Select Language: enjaespt-brruko