• ベストアンサー

mathematica list 書き換え

Mathematicaのlistのうち負の数のみに100を足す ということをさせたいのですがどうもうまくいきません。 自分で作ったプログラムは以下のとおりです g = {1, 3, 4, 5, -1, 4, -9} For[i = 1, i <= Length[g], i++, If[g[[i]] < 0, newg = ReplacePart[g, i -> g[[i]] + 100]]] newg 結果は一番最後のみ100が足されたものがつくられてしまいます どこが間違っているかおしえてほしいです。もしくは全く違うプ ログラムでも結構です

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「x が 0以上ならそのまま, 負なら 100 を足す」という関数を作って Map すればいいのでは?

jkallnight
質問者

お礼

ありがとうございます

関連するQ&A