受到新Deployment & Connectivity功能广告的鼓舞,我决定使用Mathematica 8开发一个与同事共享的简单应用程序。目的是为多目标优化的交互方法演示用户界面。该接口用于为一组标准设置一些成对系数(这在我的问题的上下文中并不重要)。
重要的是我需要显示一个包含相互交互的输入字段的表,特别是在交互过程中可以用非交互内容(例如文本)动态替换
在开发应用程序并将其部署到CDF之后,我了解到它在Internet浏览器中不起作用(因为我没有使用Manipulate函数,其功能非常有限)。我的应用程序甚至无法在Mathematica播放器中正常工作!
我的应用程序的简化版本如下所示。问题如下:可以在Mathematica 8中实现这样的交互式应用程序(记住“重要的是什么”部分),以便可以与没有Mathematica的其他人(主要是在Windows平台上)共享安装?如果没有,你能否建议一个替代平台,以最简单的方式实现这种交互式应用程序(Python?Java?)。
提前谢谢。
nCriteria = 5;
RatioControl[{i_, j_}] := Dynamic[
If[Ratio[i, j] === Null,
If[Ratio[j, i] === Null,
InputField[Dynamic@Ratio[i, j], Number, FieldSize -> 4],
N[1/Ratio[j, i]]
], Ratio[i, j]
]
];
ControlTable = Dynamic[
Grid[
Table[
If[i == j, Item["", Background -> GrayLevel[0.7]],
RatioControl[{i, j}]],
{i, nCriteria}, {j, nCriteria}
], Frame -> All
]
];
Do[Ratio[i, j] = Null, {i, nCriteria}, {j, nCriteria}];
ControlTable
答案 0 :(得分:0)
这应该适用于您的差价合约。
DynamicModule[{}, Dynamic[Grid[
Table[If[i == j, Item["", Background -> GrayLevel[0.7]],
RatioControl[{i, j}]], {i, nCriteria}, {j, nCriteria}],
Frame -> All]],
Initialization :> (RatioControl[{i_, j_}] := Dynamic[
If[Ratio[i, j] === Null, If[Ratio[j, i] === Null,
InputField[Dynamic@Ratio[i, j], Number, FieldSize -> 4],
N[1/Ratio[j, i]]], Ratio[i, j]]];
nCriteria = 5;
Do[Ratio[i, j] = Null, {i, nCriteria}, {j, nCriteria}])]