0

変化の大きさの対数を表すリストの値を比較する必要があります。

      '1.3118   2.07985',
      '1.18887  0.990066',
      '2.63964  2.31757',
      '0.828566 1.03155',
      '-0.895715    -0.993696',
      '1.24353  1.35931',
      '1.2916   1.03409',
      '-0.747429    -1.18246',
      '1.30936  1.20244',
      '1.40537  1.27763',
      '-1.07762 -0.978337',
      '0.755268 0.837232',
      '0.919512 1.09517',

各行について、比較を行い、変化の大きさが最大の値を保存したいと考えています。たとえば、私が現在持っているように(この質問Regex value comparisonの助けに感謝します)この比較:

if ($condition1_match > $condition2_match) {
    push @largest_change, $condition1_match;
}

-0.895715よりも小さいと正しく評価され-0.993696ます。-0.993696ただし、より高い倍の変化として認識する比較を書きたい-0.895715

4

1 に答える 1

4

絶対値を使用できます:

if (abs $condition1_match > abs $condition2_match) {
    push @largest_change, $condition1_match;
}

そしてもちろん、その逆も:

elsif (abs $condition1_match < abs $condition2_match) {
    push @largest_change, $condition2_match;
}
于 2013-08-12T18:53:41.437 に答える