- ベストアンサー
※ 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コマンドを使用することができます。
- みんなの回答 (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],...)として定義する方法には,添数が飛び飛びの場合やシンボルを引数にするときなどに便利ですが.
お礼
回答ありがとうございます。無事解決することができました! 今まですごく面倒な方法で配列の変数に値を定義していたので、 これでずいぶん改善させることができます。 ほんとに助かりました!