前提・実現したいこと
c言語でsin関数の2n+1次テイラー展開の値でsinの近似値を求めようとしています。
発生している問題・エラーメッセージ
エラーは発生していないのですが、コンパイルのたびに値がめちゃくちゃに大きくなったり、正しい値が出たりして困っています。
該当のソースコード
#include <stdio.h>
#include <math.h>
double mysin(int n,double x){
int j=1;
int k=0;
double h;
for(k=0;k<=n;k=k+1){
h=(double)h+pow(-1.000000,k)(1.000000/j)pow(x,2.000000k+1.000000);
j=(2k+3)(2k+2)*j;
}
return h;
}
int main(void){
double x;
int n;
printf("Input x:");
scanf("%lf",&x);
printf("Input n:");
scanf("%d",&n);
printf("mysin(x,n) is %lf.\n",mysin(n,x));
double y=sin(x);
printf("sin(x) is %lf.\n",sin(x));
double w=mysin(n,x)-sin(x);
printf("residual is %lf.\n",w);
return 0;
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。