
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ランキング
-
ラグランジュの補間法のCプログ...
-
doubleの変数にintとintの割り...
-
C言語 関数プロトタイプ宣言の...
-
printf文の書式について
-
プログラムでの数字につく”f”の...
-
プログラミングについての質問
-
C言語 二分法 プログラム
-
C言語で直角三角形の斜辺を求め...
-
c言語で、繰り返し文の中で、0....
-
関数プロトタイプ無しで、引数...
-
定積分のプログラミングについて
-
float型とdouble型の変数の違い...
-
C言語の複素数についてです。
-
C言語について(三角形の面積・d...
-
C言語のpow関数の不具合
-
至急です! マクロ定義で #defi...
-
-1.#IND00と出てしまうのですが...
-
数値を指数部と仮数部に分離したい
-
C言語を実行すると-infが出てき...
-
C言語初心者 構造体 課題について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
float型とdouble型の変数の違い...
-
C言語を実行すると-infが出てき...
-
C 開放してるのにエラー(doubl...
-
c言語で、繰り返し文の中で、0....
-
doubleの変数にintとintの割り...
-
至急です! マクロ定義で #defi...
-
C言語の型による処理速度の違い
-
C言語 関数プロトタイプ宣言の...
-
2次方程式の解を求めるプログ...
-
関数におけるif文とreturn文に...
-
doubleは常に%lfとするべきなのか
-
int とdoubleの比較
-
C言語のプログラムで#include<m...
-
C言語で-23乗を取り扱うには
-
データ数の多い構造体配列
-
指数の表示
-
C言語のpow関数の不具合
-
c言語のプログラミングについて...
-
c言語のコンパイルエラー canno...
おすすめ情報