• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MathematicaのTableでステップを指数関数的に変化させたい)

MathematicaのTableでステップを指数関数的に変化させる方法

このQ&Aのポイント
  • MathematicaのTableでステップを指数関数的に変化させる方法について教えてください。
  • ステップdiを定数ではなく指数関数的に増加させる方法を知りたいです。
  • 出力がNullでない場合でも結果をExportできる方法について教えてください。

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

  • ベストアンサー
  • nakaizu
  • ベストアンサー率48% (203/415)
回答No.1

そのようなことはTable を使うまでも無いように思います。 既にリスト{a,b,c,…}があればfを関数として f/@{a,b,c,…} で {f[a],f[b],f[c],…} というリストができます。 あるいは代入で expr/.i->{a,b,c,…} でもリストが作れます。 ここまで書いて気が付いたのですが、リストは代入する値ではなく、増加分なのですね。そうすると足し算をしていかないといけないので、それほど単純ではありませんね。 a を増加分のリストとして b[1]:=a[[1]];b[n_]:=b[n-1]+a[[n]] と関数bを定義すれば、代入する数を求める関数になりますから、それを利用すればよいでしょう。 while やDoでは確かに結果は出力されませんが、その中で目的のリストは作っているのですから、そのリストを表示するだけでよいはずです。 たとえば i=1;l={};While[i<10,AppendTo[l,i^2];i++] と入力しても出力はありませんが、lというリストができているので l と入力すれば {1,4,9,16,25,36,49,64,81} と出力されます。もっとも、While の後ろに「;l」 を加えておけば直に表示されます。

mpnyasuda
質問者

お礼

ご回答ありがとうございます. >>> while やDoでは確かに結果は出力されませんが、その中で#目的のリストは作っているのですから、そのリストを表示するだけでよいはずです。 たとえば i=1;l={};While[i<10,AppendTo[l,i^2];i++] と入力しても出力はありませんが、lというリストができているので l と入力すれば ... >>> という部分が非常に参考になりました.WhileやDoを使ってやってみたいと思います.

関連するQ&A