• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:(mathematica)Tableで配列された変数の一括定義)

(mathematica)Tableで配列された変数の一括定義

このQ&Aのポイント
  • 手打ちで変数に値を割り当てる場合は、{a[1],a[2],a[3]}={1,2,3}と記述します。
  • Tableコマンドを使用して一括で変数に値を割り当てる場合は、Table[a[i],{i,3}]={1,2,3}と記述します。
  • バージョン6のMathematicaを使用している場合でも、Tableコマンドを使用することができます。

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

  • ベストアンサー
  • 330k
  • ベストアンサー率100% (6/6)
回答No.1

"="(Set)はHoldFirst属性がありますので,第1引数("="の左辺)は評価されません.なので,先にEvaluateを使って左辺を評価すればできます. Evaluate[Table[a[i],{i,3}]]={1,2,3} このときa[1],a[2],a[3]が既に定義されているとエラーになりますので,そのときはClear[a]などとしてから実行する必要があります. とはいっても,Mathematicaで配列を扱う方法としては,リストを使う方法が一般的です. a = {1,2,3} として定義しておいて,各要素にはa[[1]],a[[2]],a[[3]]としてアクセスします.リストにしておけばMapやApply,Selectなどの豊富なMathematica標準の関数が使えます. もちろん添数付きオブジェクト(a[1],a[2],...)として定義する方法には,添数が飛び飛びの場合やシンボルを引数にするときなどに便利ですが.

mot5138
質問者

お礼

回答ありがとうございます。無事解決することができました! 今まですごく面倒な方法で配列の変数に値を定義していたので、 これでずいぶん改善させることができます。 ほんとに助かりました!

関連するQ&A

専門家に質問してみよう