プロが教えるわが家の防犯対策術!

タイトルの通りのレポートを出されたのですが、その問題に似たサンプルソースすら何をいっているのかわからない状態です。ひとまず、サンプルソースが何をいっているのか理解したいので、いくつか教えてください。

ソースです。質問はその後に書かせてもらいました。

#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);
}

文字数の制限があるみたいなので、質問を別にさせてもらいます。

A 回答 (1件)

管理者より:


続きの質問があるのでそちらをご参照下さい

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=455239
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!