// Simpson の公式による求積
#include<stdio.h>
float f(float x){
float y=0.0;
y=x*x*x*x;
// <--- @(計算用):@とAに関数式を設定する
return(y);
}
int main(){
printf("y=x*x*x*x"); //
<--- A(表示用):@とAに関数式を設定する
float
x=0.0,y=0.0; // 独立変数、従属変数
float
a=0.0,b=1.0; // 積分区間[a,b]
float
S=0.0;
// 定積分値
int
n=1;
// 曲線の分割数
printf("\n");
printf("a=");
scanf("%f",&a);
printf("b=");
scanf("%f",&b);
printf("n=");
scanf("%d",&n);
float
h=(b-a)/n; // 近似放物線の区間幅
printf("h=%f",h);
float
x1=a;
// 初期値
float
x2=a+h/2; // 初期値
float
x3=a+h;
// 初期値
for(int i=0;i<n;i++){
S=S+h*(f(x1)+4*f(x2)+f(x3))/6;
x1=x1+h;
x2=x2+h;
x3=x3+h;
}
printf("\n Integral[a,b]f(x)=%f\n\n",S);
return(0);
}