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}]