在{{x1,y1},{x2,y2},... {xn,yn}}列表的y上操作

时间:2016-06-11 13:24:24

标签: wolfram-mathematica

我一直在挠头,我无法找到一种方法,可以方便地将操作应用于{{x1,y1},{x2,y2},...{xn,yn}}形式列表的y值。列表采用这种形式,主要用 ListPlot [] 进行绘图。 我想申请的操作类型包括:

  • Mathematica运营。例:LowpassFilter[y's](不是逐点,我知道)
  • 通用数学逐点操作。例如:y's*10 + 2

我知道我可以转置然后filpity-flop转动列表arround然后定位每个元素,然后转置回来和翻转翻转并覆盖原始列表。在处理每个案件后,这变得令人厌烦。我打赌有一种切割方法可以做到这一点。或者,在列表中保存值可以轻松绘制和操作的最佳方法是什么?

由于

3 个答案:

答案 0 :(得分:1)

假设您将列表命名为l,即

l={{x1,y1},{x2,y2},...{xn,yn}}

您可以通过以下方式获取所有y

ylist=l[[All,2]]

答案 1 :(得分:1)

      Map[{#[[1]],2+10 #[[2]]}&,{{x1,y1},{x2,y2},...{xn,yn}}]


      MapAt[2+10#&,{{x1,y1},{x2,y2},...{xn,yn}},{All,2}]

如果你需要在'y'列表中作为列表操作,请执行以下操作:

      Transpose@MapAt[LowpassFilter[#,1]&,
         Transpose@{{x1,y1},{x2,y2},...{xn,yn}},2]

答案 2 :(得分:0)

{#, 10 # + 2} & @@@ lst

  

{{x1,2 + 10 x1},{x2,2 + 10 x2},{xn,2 + 10 xn}}