#1
by yasuhiro » 4年前
楕円x^2/9+y^2/4=1を用いてシンプソンの公式を用いてπの値を求める問題なんですが刻み0.1として
どうしたらいいか全然わからないので教えて欲しいです><
一様台形の場合
#include<stdio.h>
#include<math.h>
int main(void){
double dean(double,double,double,double);
double a,b,s,dx,y0,y1,x,pi;
x=0;
dx=0.1;
s=0;
a=3;
b=2;
y0=dean(a,b,x,dx);
x=dx;
while(x<a){
y1=dean(a,b,x,dx);
s=s+(y1+y0)/2;
y0=y1;
x=x+dx;
}
pi=4*s/6;
printf("π=%lf\n",pi);
return 0;
}
double dean(double a,double b,double x,double dx){
double y;
y=b/a*sqrt(a*a-x*x)*dx;
return y;
}
楕円x^2/9+y^2/4=1を用いてシンプソンの公式を用いてπの値を求める問題なんですが刻み0.1として
どうしたらいいか全然わからないので教えて欲しいです><
一様台形の場合
#include<stdio.h>
#include<math.h>
int main(void){
double dean(double,double,double,double);
double a,b,s,dx,y0,y1,x,pi;
x=0;
dx=0.1;
s=0;
a=3;
b=2;
y0=dean(a,b,x,dx);
x=dx;
while(x<a){
y1=dean(a,b,x,dx);
s=s+(y1+y0)/2;
y0=y1;
x=x+dx;
}
pi=4*s/6;
printf("π=%lf\n",pi);
return 0;
}
double dean(double a,double b,double x,double dx){
double y;
y=b/a*sqrt(a*a-x*x)*dx;
return y;
}