2009年7月29日水曜日

n項まで計算できるsinのテイラー展開のプログラムです

#include < stdio.h >
#include < math.h >
main(){
char FileName[124];
FILE *fp;

int i, j, k, n, m, e;
float a, b, c, d;
double x;
float dx, s;
x = 0.0e0;
dx = 0.1e0;
x = -dx;
b = 0;

printf("結果の保存先ファイル名を入力してください>");
scanf("%s" , FileName);
fp = fopen(FileName , "w");

printf("テイラー展開のn項まで計算します。nを入力してください>");
scanf("%d", &n);

for(e=1; e<=70; e++){
x = x + dx;

for(m=1; m<=n*2; m = m + 4){
b=0;
for(i=1; i<=m; i = i + 4){
a = 1.0;
for(j=1; j<=i; j++){
a = a * 1/j;
}
a = a * pow(x,i);
b = b + a;
}
}

for(m=3; m<=n*2; m = m + 4){
c = 0;
for(i=3; i<=m; i = i + 4){
a = 1.0;
for(j=1; j<=i; j++){
a = a * 1/j;
}
a = a * pow(x,i);
c = c + a;
}
c = -c;
}

d = b + c;
printf("%d %f %e\n", e, x, d);

fprintf(fp,"%d %f %e\n", e, x, d);
}

fclose(fp);

return 0;

}

実行したら、最初に実行結果を出力するファイル名を記入してください。
その後に、n項まで計算するための"n"を入力してください。

0 件のコメント:

コメントを投稿