• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【至急】BASICプログラムの問題(初心者))

BASICプログラム初心者のための曲線の面積近似問題

このQ&Aのポイント
  • N88互換BASICを使用して、f(x)=x^4-7x^3-6x^2-4x+1の曲線とy=0の直線で囲まれる面積を求める問題です。
  • 近似精度は10^-3以内で、シンプソン公式を用いて近似します。
  • 手順としては、分割数を入力してdxの値を求め、各分割数区間で放物線の面積を計算し、その結果を累積させます。誤差が10^-3以内になるまで繰り返します。

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

  • ベストアンサー
回答No.1

1~5のどの部分が分からないのでしょうか??たぶん、こんな感じになると思いますが。。。 100 rem f(x)=x^4-7x^3-6x^2-4x+1の曲線とy=0の直線とで囲まれる面積を、x=0から10の範囲で近似的積分 110 rem 1、分割数zを入力。 120 input "分割数= ?",z 130 a=0 140 b=10 150 rem 2、dxの値を分割数から逆算して求める。(dx=「全体幅」/「2×分割数」) 160 dx=(b-a)/(2*z) 170 rem 3、FORNEXT文を用いて、各分割数区間毎にx座標を特定して放物線の面積を求める計算をし、その累積を求める。 180 s=0 190 for i=0 to z-1 200 x0 = a+dx*2*i 210 x1 = a+dx*(2*i+1) 220 x2 = a+dx*(2*i+2) 230 y0=x0^4-7*x0^3-6*x0^2-4*x0+1 240 y1=x1^4-7*x1^3-6*x1^2-4*x1+1 250 y2=x2^4-7*x2^3-6*x2^2-4*x2+1 260 s = s + y0 + 4*y1 + y2 270 next i 280 kekka = dx/3*s 290 rem 4、求まった積分結果、そして答え「310」との誤差表示。 300 gosa = kekka-310 310 print "積分結果=";kekka,"誤差=";gosa 320 rem 5、誤差が10^-3以内なら終了。それ以上なら1に戻る。 330 if abs(gosa)>0.001 then goto 110

astro26
質問者

補足

ありがとうございます!! 大変な面倒な質問に回答、感謝致します。 答えも誤差もきちんと表示されます。脱帽です。 190 for i=0 to z-1 200 x0 = a+dx*2*i 210 x1 = a+dx*(2*i+1) 220 x2 = a+dx*(2*i+2) 230 y0=x0^4-7*x0^3-6*x0^2-4*x0+1 240 y1=x1^4-7*x1^3-6*x1^2-4*x1+1 250 y2=x2^4-7*x2^3-6*x2^2-4*x2+1 260 s = s + y0 + 4*y1 + y2 がよく分かりませんね。じっくりと考えてみますが。

関連するQ&A