Select Mathematica中的映射线程、操作、过滤器

Select Mathematica中的映射线程、操作、过滤器,select,wolfram-mathematica,Select,Wolfram Mathematica,我希望能够很快恰当地命名这个问题 请考虑: list1 = Tuples[Range[1, 5], 2]; list2 = Tuples[Range[3, 7], 2]; *我使用下面的机制在显示过程中显示所有过滤的眼睛注视* 现在,我想一次显示一个固定点(点),累计显示 即: 给定 list1 = {{1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, {2, 5}, {3, 1}

我希望能够很快恰当地命名这个问题

请考虑:

list1 = Tuples[Range[1, 5], 2];

list2 = Tuples[Range[3, 7], 2];
*我使用下面的机制在显示过程中显示所有过滤的眼睛注视*

现在,我想一次显示一个固定点(点),累计显示

即:

给定

list1 = {{1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, 
         {2, 5}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {4, 1}, {4, 2}, {4, 3}, 
         {4, 4}, {4, 5}, {5, 1}, {5, 2}, {5, 3}, {5, 4}, {5, 5}}
使用滑块在此处显示1到25个点。但是在过滤完1之后Length@Filtered资料

控制固定编号的滑块还有一个固定边界(25),而它应该有一个等于过滤列表长度的边界

但是由于
Mapthread
的原因,有两个线程

我不能将
Mapthread
扩展到操纵控件,可以吗

Manipulate[Row[MapThread[Function[{list},
                         Graphics[
                         Point[{#[[1]], #[[2]]}]& /@ Select[list,
                                                     (#[[1]] > f1 && #[[2]] > f2) &]
                                                     [[1 ;; dd, All]], 
                         Frame -> True, PlotRange -> {{0, 10}, {0, 10}}]], 
              {{list1, list2}}]], 
{f1, 0, 10}, {f2, 0, 10},{dd,0,25}]

{dd,0,25,1}
试试看。这既允许它正确地解析(右括号),也可以通过防止
dd
成为实数来保持它的真实性。

{dd,0,25,1}
试试。这既允许它正确解析(右大括号),也可以通过防止
dd
成为实值来保持它的真实性。

可能类似于:

(注意代码效率)


可能类似于:

(注意代码效率)


我现在正在努力理解,我想一次显示一个固定点(点),累积显示。@Belisarius,我希望这样更好。我很难从真实的案例中抽象出来,我会上传我的nb。为了展示真实的背景。@Belisarius,NB在我一个半月前从未真正编码过,所以这个笔记本也是真正的论坛笔记本。如果没有这38个问题和令人惊讶的答案,我将永远无法接近这一点!我打开了有问题的操纵,但是你可以观察到操纵底部步骤控件的错误!非常感谢您能提供的任何帮助!我还是不明白,对不起。您有两个筛选列表,它们的长度可能不同。。。那么,哪一个应该控制
dd
上限呢?@Belisarius,对不起,我不清楚,但你提到的是我的确切问题:我想控制dd,但我怎样才能扩展
Mapthread
/或者我只能有一个在dd=12的情况下不产生错误的线程,列表中只有这样的位置吗?我现在正试图理解,我想一次显示一个固定点(点),累积显示。@Belisarius,我希望这样更好。我很难从真实的案例中抽象出来,我会上传我的nb。为了展示真实的背景。@Belisarius,NB在我一个半月前从未真正编码过,所以这个笔记本也是真正的论坛笔记本。如果没有这38个问题和令人惊讶的答案,我将永远无法接近这一点!我打开了有问题的操纵,但是你可以观察到操纵底部步骤控件的错误!非常感谢您能提供的任何帮助!我还是不明白,对不起。您有两个筛选列表,它们的长度可能不同。。。那么,哪一个应该控制
dd
上限呢?@Belisarius,对不起,我不清楚,但你提到的是我的确切问题:我想控制dd,但我怎样才能扩展
Mapthread
/或者我只能有一个在dd=12的情况下不产生错误的线程,在列表中只有一个这样的位置?问题解决了谢谢,我必须尝试在am中实现这一点。你说的“谨防代码效率”到底是什么意思?它和我的笔记本有关:)?@500我在评估
f
两次。。。对于许多需要纠正的问题…问题解决了谢谢,我必须尝试在am中实现这一点。你说的“谨防代码效率”到底是什么意思?它和我的笔记本有关:)?@500我在评估
f
两次。。。对于许多需要纠正的问题。。。
Manipulate[Row[MapThread[Function[{list},
                         Graphics[
                         Point[{#[[1]], #[[2]]}]& /@ Select[list,
                                                     (#[[1]] > f1 && #[[2]] > f2) &]
                                                     [[1 ;; dd, All]], 
                         Frame -> True, PlotRange -> {{0, 10}, {0, 10}}]], 
              {{list1, list2}}]], 
{f1, 0, 10}, {f2, 0, 10},{dd,0,25}]
list1 = Tuples[Range[1, 5], 2];
list2 = Tuples[Range[3, 7], 2];
f = (Select[#, (#[[1]] > f1 && #[[2]] > f2) &] &);
Manipulate[
 Row@Graphics[Point@#, Frame -> True, PlotRange -> {{0, 10}, {0, 10}}] & /@ 
  Map[Map[f, {#}][[All, 1 ;; Min[dd, Length @@ Map[f, {#}]], All]] &,
  {list1, list2}], 
  {f1, 0, 10}, {f2, 0, 10}, {dd, 0, 25, 1}]