• 締切済み

C言語で台形公式を使った二重積分のプログラム

台形公式をつかった二重積分の数値計算を行うプログラムをC言語でつくっているのですが、未だ理解が足りず、うまくできていません。 そこで、 •台形公式をつかった二重積分についてわかりやすく説明しているページ。 •台形公式で二重積分を行うプログラムの例があるページ。 •または、台形公式の二重積分(のプログラム)について説明できる方がいれば教えて下さい。 よろしくお願いします。

みんなの回答

回答No.3

// 被積分関数(積分したい任意の関数、以下を書き換える) double myFunction( double x , double y ) { double ans=0.0 ; ans = x * x + y * y ; return ans ; } // 積分を処理する関数 double myIntegral( double x_ini , // xの積分区間の最小値 double x_fin , // xの積分区間の最大値 double y_ini , // yの積分区間の最小値 double y_fin , // yの積分区間の最大値 double x_devN , // xの積分の分割数 double y_devN , // yの積分の分割数 double (*fnc)( double x , double y ) // 積分する関数 ) { double ss=0.0 ; // 積分値を保存する変数 double xx=0.0 , yy=0.0 ; // xとyのループ変数 double dx=(x_fin-x_ini)/x_devN ; // 積分の微小区間 double dy=(y_fin-y_ini)/y_devN ; // 積分の微小区間 for( xx=x_ini ; xx<=x_fin ; xx+=dx ) { for( yy=y_ini ; yy<=y_fin ; yy+=dx ) { ss = ss + dx * dy * ( fnc(xx,yy) + fnc(xx+dx,yy) + fnc(xx,yy+dy) + fnc(xx+dx,yy+dy) ) / 4 ; } } return ss ; }

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「未だ理解が足りず」ってのは, 何に対する理解が足りないんだ?

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

どんな問題に対してどんなコードを書いて どんな風にうまくいっていないのかを 具体的に書いてくださると、 私あるいは私ではない別の方々から 何か回答が届くかもしれません。

関連するQ&A

  • 数値積分のプログラムについて

    開発環境は,C言語です. 数値積分(台形則)についての質問なのですが, Excelファイル(*fp1)から積分したい数値を読み込んで, 台形則の計算をして,違うファイル(*fp2)に結果を出力させる プログラムを作りたいです. サイトなどを調べてみると,関数f(x)を積分するものだけしか 載っていなくて,ファイルから数値だけを読み込み積分する 方法が載ってなくてわかりませんでした. よろしければ,参考になるプログラム例やサイトなど ありましたら教えて下さい.

  • 台形公式を使って解析解を、。

     2 ∫ X^5dx の定積分の解析解を求めるのに台形公式法を使って  0    求めよ。 なんですが、 全然回りの答えと合いません・・ 10.~ に出来るだけ近い数値が解です。 どの様にして求めればいいのでしょうか。 プログラムではなく手計算での求め方お願いします。

  • C言語のプログラム教えて!!

    二つの積分値の数値解を台形則とシンプソン則により求めるプログラムを作りたいのですがよくわかりません。また、プログラムは曲線上の点数を入力データで与えられるように作り、点数を変えたときの積分値の変化を示すようにしなければいけない。プログラム、入力データ、計算結果が分かるように回答して頂ければありがたいです。

  • C言語のプログラム!

    2つの積分値の数値解を台形則とシンプソン則を用いて求めるプログラムを作りたいのですが、プログラムに台形則とシンプソン則をどのように組み込んだらよいのかわかりません。また、プログラムに入力データで与えられるように作り、点数を変えたときの積分値の変化を示すようにするにはどうしたらよいのかわかりません。回答よろしくお願いします。

  • 台形公式

    幅hの小区間上[xi+(h/2),xi-(h/2)]のf(x)の積分に対する台形公式を求めよ。すなわち h{af(xi-(h/2)+bf(xi+(h/2)))} の形の数値積分公式でもっとも次数が高くなるようにa,bを定めよ。 という問題の答えがわかりません。 どなたか教えて下さい。

  • 台形公式とシンプソン公式

    次の積分を台形公式、シンプソン公式を用いて計算せよ。 ただし、刻みをh=2^-nとし、nと積分値の関係も求めよ。 ∫2~1 1/xdx 刻みの書き方がよくわかりません。それ以外は何とかできそうです。 どなたか教えていただければ幸いです。 因みに、n=1~6だそうです。

  • 台形公式について

    定積分I=∫(0→2) x(x-1)^2dxを数値積分の台形公式で解いてみましたが とき方がいまいちあってる気がしないので、審議お願いします。 条件は分割数は4で等区間の間隔0.5です 答え h=0.5 yo=0(0-1)^2=1, y1=1/2*(1/2)^2=1/8, y2=1*(1-1)^2=0, y3=3/2*(1/2)^2=3/8, y4=2*1^2=2 I=1/4(1+2*1/8+2*0+2*3/8+2)=1 です。 よろしくお願いします

  • fortran90での三重積分

    fortran90での台形公式を用いた三重積分について悩んでいます。 台形公式を用いた定積分は色んなサイトを見て何となく理解しました。 三重積分は恐らく、3つのfor文の入れ子によるものだと予想できますがソースコードがなかなか記述できません。 被積分関数(例えばf(x)=x^3+y+z^2)をfunctionで定義したいのですが、どなたか御教授願います。

  • 台形の面積を求めるプログラム

    すみません。わたしはC言語の初心者なのですが、台形の面積を求めるプログラムを教えてください。

  • 積分を台形則を用いて計算する

    プログラミングについての質問です。積分台形則 キーボードから係数a,b,c,d及び刻み幅dx、積分範囲[0,x]を入力し、 A:y=ax^3+bx^2+cx+d B:y=a(x+b)^2+d の積分を台形則、forループを使ってするプログラムなんですが、わからないのでヒントなどがありましたら教えてください。。

専門家に質問してみよう