私は現在、リーマンの合計を計算してテーブルに入れるためのMathematicaプロジェクトに取り組んでいます。行番号(間隔)の印刷に問題があります。(行番号は、2次関数のパラメーターでもあります)。Mathematicaテーブルのイテレータのインデックスにアクセスする方法がわからないので、関数パラメータを使用してそれらを計算しようとしています。
これは、私が印刷したいものの例です。{0、1}の範囲でx ^ 2を積分し、10個の細分割を行います。
tableRiemannSums[#^2 &, {0, 1}, 10]
現在のサブディビジョンkの値、積分{a、b}の範囲、およびサブディビジョンの数nに基づいて、各反復のインデックスが何であるかを理解する必要があります。以下は主要なコードです。
tableRiemannSums[fct_, {a_, b_}, n_] := Table[{'insert index here',
leftRiemannSum[fct, {a, b}, 'insert index here'],
rightRiemannSum[fct, {a, b}, 'insert index here']},
{k, a, b - (N[b - a]/n), N[b - a]/n}]
上記の式では、次の行
{k, a, b - (N[b - a]/n), N[b - a]/n}]
kが「a」から「b-((b-a)/ n)」までサイズ「(b-a)/ n」のステップで進むため、テーブルの範囲はkであることを意味します。
私のコードが「ここにインデックスを挿入」と言っている場所のそれぞれに、同じ方程式を入れる必要があります。現在、「n * k + 1」を使用してインデックスを計算しています。これは正の範囲で機能しますが、{a、b} = {-1、1}のような範囲になると機能しなくなります。
これはかなり単純な代数の問題だと思いますが、私は何時間も頭を悩ませていて、一般的な方程式を見つけることができません。
(これが重複した質問である場合はお詫びします。スタックオーバーフローアーカイブを検索しようとしましたが、質問をいくつかのキーワードに要約するのに苦労しました。)