teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

質問の改善

2020/07/18 17:35

投稿

-_.can777
-_.can777

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- x(t) ≒ Σ[n=1,n]a*sin(2*π*f*t),a=4/(π*(2n-1)),f=2*n-1
4
- 上式を用いてN個の sin 波を足し合わせて矩形波を近似するプログラム(ファイル名:20266044
5
- _rectangularwave.c)を作成する.その際,一つの 2 次元配列に足し合わせた結果を格納する.
6
- また,その配列に入っている時刻と波形をテキストファイル(ファイル名:20266044_rectangularwave.txt)
7
- に保存する。()条件:配列とポインタは必ず用い,ポインタ渡しを用いて関数間で波形のデータをやり取り
8
- すること。また構造化を意識するこ。)
3
+ 解決しありがうございます
9
-
10
4
  ### 発生している問題・エラーメッセージ
11
5
 
12
6
  ```
@@ -23,36 +17,7 @@
23
17
 
24
18
  double calculation(int i, int len, double X, double t, double f, double a, double N, double d[i])
25
19
  {
26
- double n, delta =1.0e-3;
27
- for(i=0;i<len;i++){
28
- t=(double)i*delta;
29
- for(n=1;n<N+1;n++){
30
- f = 2*n-1;
31
- a =4/(M_PI*(2*n-1));
32
- X += a*sin(2.0*M_PI*f*t);
33
- }
20
+ d
34
- d[i] = X;
35
- X=0;
36
- return 0;
37
- }
38
-
39
- int main(void){
40
- int i, len=1000;;
41
- double X, t, f, a, N, d[i],x;
42
- printf("N:");
43
- scanf("%d",&N);
44
- printf("time x(N=%d)\n",N);
45
-
46
- x = calculation(i,len,X,t,f,a,N,&d[0]);
47
-
48
- FILE *fp;
49
- fp = fopen("20266044_rectangularwave.txt","w");
50
- fprintf(fp,"time x(N=%d)\n",N);
51
- for(i=0;i<len;i++){
52
- printf("%lf %lf\n", t, x);
53
- fprintf(fp,"%lf %lf\n",t,x);
54
- }
55
- fclose(fp);
56
21
  return 0;
57
22
  }
58
23
  ```

1

タグの修正

2020/07/18 17:35

投稿

-_.can777
-_.can777

スコア5

title CHANGED
File without changes
body CHANGED
File without changes