上記の式を求めたいです。
発生している問題・エラーメッセージ
Main.c:6:18: error: use of undeclared identifier 'αx'; did you mean 'α'? return x/tau-αx*x; ^~ α Main.c:4:44: note: 'α' declared here double myfunc(double x, double tau, double α) ^ 1 error generated.
該当のソースコード
C
1#include <stdio.h> 2#include <math.h> 3 4double myfunc(double x, double tau, double α) 5{ 6 return x/tau-αx*x; 7} 8void euler1(double *x, double dt, double tau, double α) 9{ 10 (*x)+=myfunc(*x, tau, α)*dt; 11} 12void rk2(double *x, double dt, double tau, double α) 13{ 14 double xtmp=(*x)+myfunc(*x,tau,α)*dt; 15 (*x)+=0.5*(myfunc(*x,tau,α)+myfunc(xtmp,tau,α))*dt; 16} 17 18int main(void){ 19 // Your code here! 20 21 int n; 22 int nmax=40; 23 double x0=0.001; 24 double tau=1.0; 25 double α=255/256.0; 26 double dt=0.1; 27 double x=x0; 28 double exact; 29 30 printf("Time Numer. Exact Error\n"); 31 for (n=1;n<=nmax;n++){ 32 rk2(&x,dt,tau,α); 33 exact=x0*exp(-n*dt/tau); 34 printf("%f %f %f %f\n",n*dt,x,exact,fabs(x-exact)); 35 } 36 37 return 0; 38}
double myfunc(double x, double tau, double α)
{
return x/tau-αx*x;
}
のところでエラーが発生してしまっております。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。