締切り済みの質問
タイトルの通りのレポートを出されたのですが、その問題に似たサンプルソースすら何をいっているのかわからない状態です。ひとまず、サンプルソースが何をいっているのか理解したいので、いくつか教えてください。
ソースです。質問はその後に書かせてもらいました。
#include<stdio.h>
#include<math.h>
#define N 10
#define F 0.1
#define PI 3.14151692
#define SQR(x) ((x)*(x))
void func()
{
int n;
FILE *fp;
fp=fopen("temporal.data","w");
for(n=0;n<N;n++)
fprintf(fp,"%lf\n",cos(2.0*PI*F*(double)n));
fclose(fp);
}
void get_data(double x[])
{
int n;
FILE *fp;
fp=fopen("temporal.data","r");
for(n=0;n<N;n++)
fscanf(fp,"%lf",&x[n]);
fclose(fp);
}
void dft(double x[],double X_r[],double X_i[])
{
int k,n;
for(k=0;k<N;k++){
X_r[k]=X_i[k]=0.0;
for(n=0;n<N;n++){
X_r[k]+=x[n]*cos(2.0*PI*(double)n*(double)k/(double)N);
X_i[k]-=x[n]*sin(2.0*PI*(double)n*(double)k/(double)N);
}
}
for(k=0;k<N;k++)
printf("X[%d]=%lf+j%lf\n",k,X_r[k],X_i[k]);
}
void amplitude(double X_r[],double X_i[])
{
int k;
FILE *fp;
double amp;
fp=fopen("amp.data","w");
for(k=0;k<N;k++){
amp=sqrt(SQR(X_r[k])+SQR(X_i[k]));
fprintf(fp,"%lf\n",amp);
}
fclose(fp);
}
main()
{
double x[N],X_r[N],X_i[N];
func();
get_data(x);
dft(x,X_r,X_i);
amplitude(X_r,X_i);
}
文字数の制限があるみたいなので、質問を別にさせてもらいます。
投稿日時 - 2003-01-25 22:16:55
1人が「このQ&Aが役に立った」と投票しています
回答(1件中 1~1件目)
管理者より:
続きの質問があるのでそちらをご参照下さい
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=455239
投稿日時 - 2003-01-26 09:44:34