0

微積分の先生は、台形則を使って与えられた区間の定積分を計算するプログラムを教えてくれました。プログラムされた関数が算術関数のように入力を受け取り、出力を生成することは知っていますが、その逆を行う方法がわかりません。つまり、出力が与えられたときに入力を見つけます。

問題は次のように述べています。

「t=0 から t=9 までの移動距離を見積もるには、刻みの数 n を変化させる台形則を使用します。n > D の場合、台形和がこの制限 (468) の 0.01 単位内にある数 D を見つけます。 ."

電卓を使って「プラグアンドチャグ」で制限を推定しましたが、通常の代数関数を使用すると、次のように簡単に実行できることがわかります。

limit (468) = 変数 x の代数式 (x について解く)

ただし、プログラムされた関数に対してこれを行うにはどうすればよいですか? 出力が与えられた場合、プログラムされた関数の入力をどのように決定しますか?

間隔 0 と 9 の間の多項式 (x^2+11x+28)/(x+4) の定積分を計算しています。計算機の台形規則関数は、間隔 0 と 9 の間の定積分を計算します。与えられた数の台形 n を使用します。

全体として、これを行う方法を知りたい:

n について解く: 468 = trapezoidal_rule(a = 0, b = 9, n);

私の TI-83 での trapezoidal_rule(a, b, n) のコード:

Prompt A
Prompt B
Prompt N
(B-A)/N->D
0->S
A->X
Y1/2->S
For(K,1,N-1,1)
X+D->X
Y1+S->S
End
B->X
Y1/2+S->S
SD->I
Disp "INTEGRAL"
Disp I

私はこの構文にもコンピュータ アルゴリズムにも精通していないので、誰かがこのコードを代数方程式に変換するのを手伝ってくれたり、そうする方向を教えてくれることを期待していました。

編集: これは私の宿題の一部ではありません。単なる知的好奇心です。

4

1 に答える 1

1

多項式 (x^2+11x+28)/(x+4)

これは x+7 に等しい。台形規則は、この関数に対して正確に正しい結果を与えるはずです! これは実際にあなたが取り組んでいる機能ではないと思います...

関数の出力が与えられた場合、その入力が何であったかを判断する一般的な方法はありません。(たとえば、多くの関数は、複数の異なる入力を同じ出力にマップできます。)

したがって、台形則を特定の関数に特定のステップ数で適用するときのエラーの式があり、ここでそれを使用して必要な n の値を計算できます...しかし(1)そうではありません(2) 台形則を検討し始めたばかりのときに行うことを期待するのは、非常に合理的なことのようには思えません。あなたの先生は、実際にはあなたに「プラグアンドチャグ」することを望んでいたと思います.

実際にどの関数を統合しているのかはわかりませんが (上記を参照)、x^2+11x+28 であると仮定しましょう。以下では、これを f(x) と呼びます。これを 0 から 9 まで積分すると、実際には 940.5 になります。区間 [0,9] を n 個に分割するとします。[f(0)/2 + f(1*9/n) + f(2*9/n) + ... + f((n-1)*9/n) + f(9)/2] * 9/n。

これを、x^2、11x、および 28 からの寄与に分けてみましょう。台形近似は、後者の 2 つに対して正確に正しい結果を与えることがわかります。(演習: 理由を考えてください。) したがって、台形則から得られる誤差は、f(x) = x^2 から得られる誤差とまったく同じです。

0 から 9 までの x^2 の実際の積分は (9^3-0^3)/3 = 243 です。台形近似は [0/2 + 1^2+2^2+...+(n- 1)^2 + n^2/2] * (9/n)^2 * (9/n)。(演習: 理由を考えてみてください。) 連続する 2 乗の合計には、1^2 + ... + n^2 = n(n+1/2)(n+1)/3 という標準的な公式があります。したがって、x^2 の積分に対する台形近似は (9/n)^3 倍 [(n-1)(n-1/2)n/3 + n^2/2] = (9/n)^ です。 3 回 [n^3/3+1/6] = 243 + (9/n)^3/6。

つまり、この場合の誤差は正確に (9/n)^3/6 = (243/2) / n^3 です。

したがって、たとえば、(243/2) / n^3 < 0.01 の場合、エラーは 0.01 未満になります。これは n^3 > 100*243/2 = 12150 と同じです。これは、n >= 23 の場合に当てはまります。 .

[編集して追加: 私は自分の代数や算術を注意深くチェックしていません。小さな誤差があるかもしれません。あなたが興味を持っているのは、具体的な数値ではなくアイデアだと思います。]

于 2011-02-06T01:46:25.377 に答える