查找已定义的变量并在mathematica中的Dynamic PopupMenu中使用它们

时间:2014-07-03 19:57:43

标签: list dynamic wolfram-mathematica popupmenu mathematica-8

我正在使用Mathematica, 我首先从一些CSV文件导入数据,然后将它们存储在一些变量名下。 暂时让我们假设我们使用:

sample1 = Sort[RandomReal[{0, 10}, {10, 2}]];
sample2 = Sort[RandomReal[{0, 10}, {10, 2}]];
sample3 = Sort[RandomReal[{0, 10}, {10, 2}]];

所以,我想单独对数据进行一些计算, 我想通过“回忆”定义的变量来使用PopupMenu然后我可以进行线性拟合并显示数据和线性拟合,并且还找到最高值:

variables = Names["Global`*"];
PopupMenu[Dynamic[x], variables]
data=Dynamic[x];
lm = LinearModelFit[data, x, x];
Show[ListLinePlot[data, PlotRange-> All], 
Plot[lm[x], {x, 0, data[[Length[data], 1]]}]]
Peak = Max[data[[All, 2]]]

但问题是,当我回忆起变量时,Mathematica只会将它们作为名称而非实际数据列表。

目前我还试图在更大的列表中存储不同的计算,这些计算将继续存储计算的值:

Data = {};

(这个位在外面,可能导入数据,只是为了定义列表)

AppendTo[Data, {Normal[lm], Peak}]

我也试图存储所选集合的名称,这是另一个挑战......有谁知道我怎么能解决这个问题?

我确实意识到这是一个非常具体的问题(对不起!),但它也可以用于其他事情!我想......

谢谢!

0 个答案:

没有答案