
C言語において、区分求積法・台形公式・シンプソンの公式を行いたいのですがうまくいきません。
1/1+x*xを求めたいと思います。以下が途中まで作ったプログラムです。
#include <stdio.h>
#define FROM 0.0
#define TO 1.0
double func(double x)
{
double out;
out = 1.0 / ( 1.0 + x * x );
return (out);
}
double kubun(double start, double end, int num)
{
int i;
double h, s;
h = ( end - start ) / num;
s = 0.0;
for(i=0; i<num; i++) s += func( start + i * h + h / 2.0 );
return ( s * h );
}
double daikei(double start,double end,int num)
{
int i;
double h,s;
h = ( end - start ) / num;
s = 0.0;
for(i=1; i<num-1; i++) s += func( i * h );
return ((start / 2.0 + s + end / 2.0) * h );
}
double simpson(double start,double end,int num)
{
int i;
double h,s;
h = ( end - start ) / num;
s = 0.0;
for(i=1; i<num-1; i++)
if(i%2 == 0){
s = 2 * func(i * h);
}else{
s = 4 * func(i * h);
}
return ( (start + s + end) / 3 );
}
区分求積法はあったていると思いますが、不安なのでのせときます。
よろしくお願いします。
No.2
- 回答日時:
daikei
> s += func( i * h );
simpson
> s = 2 * func(i * h);
> s = 4 * func(i * h);
これらをkubunの対応する部分と比較すればすぐ分かるでしょう。ただのケアレスミスですね。ほかは多分「あったている」。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C 開放してるのにエラー(doubl...
-
C言語で台形公式を使った二重積...
-
至急です! マクロ定義で #defi...
-
C言語 関数プロトタイプ宣言の...
-
割り算ができない
-
3次方程式の求解プログラム(...
-
listに構造体を格納
-
(C,C++言語)関数の引数は自動キ...
-
C言語の型による処理速度の違い
-
float型とdouble型の変数の違い...
-
float?数字の後にLがつくもの
-
C言語でdouble型の小数点の引き...
-
たくさんの数の平均を求める方...
-
Cプログラミングの問題です。ニ...
-
型について
-
fgets()による繰り返し入力(c言語)
-
C言語を実行すると-infが出てき...
-
doubleの変数にintとintの割り...
-
c言語で、繰り返し文の中で、0....
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
C言語を実行すると-infが出てき...
-
doubleの変数にintとintの割り...
-
float型とdouble型の変数の違い...
-
c言語で、繰り返し文の中で、0....
-
至急です! マクロ定義で #defi...
-
C 開放してるのにエラー(doubl...
-
C言語の型による処理速度の違い
-
C言語 関数プロトタイプ宣言の...
-
float と double
-
ラグランジュの補間法のCプログ...
-
C言語のプログラムで#include<m...
-
c言語のコンパイルエラー canno...
-
2分法で方程式の複数の解を自...
-
2次方程式の解を求めるプログ...
-
C言語で台形公式を使った二重積...
-
Cプログラミングの問題です。ニ...
-
物体が往復する動きを作りたい
-
関数におけるif文とreturn文に...
-
doubleは常に%lfとするべきなのか
おすすめ情報