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

回答編集履歴

3

Update

2021/12/05 08:00

投稿

melian
melian

スコア21263

answer CHANGED
@@ -3,59 +3,4 @@
3
3
  > `/[:blank:]*#/ {next}` # コメント行 (# で始まる行) は無視
4
4
  > `NF < 3 {next}` # 3 列未満しかない行も無視
5
5
  > `$1 != prev {printf "\n"; prev=$1}` # 空行を出力
6
- > `{print}` # その行自体を出力
6
+ > `{print}` # その行自体を出力
7
-
8
- この awk スクリプトと同じ処理になるようにプログラムを変更します。ただ、データの数値をそのまま比較すると全てが孤立線になってしまいますので、10倍して整数値に丸めて比較しています(粗過ぎる?)
9
-
10
- ```c
11
- int tmp_count = 0;
12
- int prev = 0, cur = 0;
13
- double data[3];
14
- for (int i = 1; i < N - 1; i++)
15
- {
16
- for (int j = 1; j < M - 1; j++)
17
- {
18
- data[tmp_count] = a[i][j];
19
- tmp_count++;
20
- if (tmp_count == 3)
21
- {
22
- // 有効数字の桁数
23
- cur = (int)(data[0]*10);
24
- // 前の行の値と異なる場合は改行を出力
25
- if (cur != prev) fprintf(fp1,"\n");
26
- fprintf(fp1, "%6.6f\t%6.6f\t%6.6f\t\n", data[0], data[1], data[2]);
27
- tmp_count = 0;
28
- prev = cur;
29
- }
30
- }
31
- }
32
- fclose(fp1);
33
- ```
34
-
35
- ……さて、この結果は適切なのでしょうか……?
36
-
37
- ![splot](7b11511f668c34567a3c39dab03ae788.png)
38
-
39
- **追記**
40
-
41
- 単純に横(X軸方向)に伸ばすのであれば、`replot` すれば良いのですが、、、
42
-
43
- ```gnuplot
44
- #g-s_method.plt
45
- cd 'C:\Users\%USERNAME%\Desktop\gnuplot'
46
-
47
- set pm3d
48
- set pm3d map
49
- set pm3d interpolate 1, 10
50
- set ticslevel 0
51
- set cbrange[-1:1]
52
- set xrange [-1:1]
53
- set yrange [-1:1]
54
- set palette rgbformulae 15, 5, 7
55
- splot 'g-s_result.dat' with pm3d
56
- replot y
57
- ```
58
-
59
- こんな感じになりますが、さて?
60
-
61
- ![splot2](210b93f0773bc26ebe9d626324185a10.png)

2

Update

2021/12/05 08:00

投稿

melian
melian

スコア21263

answer CHANGED
@@ -34,4 +34,28 @@
34
34
 
35
35
  ……さて、この結果は適切なのでしょうか……?
36
36
 
37
- ![splot](7b11511f668c34567a3c39dab03ae788.png)
37
+ ![splot](7b11511f668c34567a3c39dab03ae788.png)
38
+
39
+ **追記**
40
+
41
+ 単純に横(X軸方向)に伸ばすのであれば、`replot` すれば良いのですが、、、
42
+
43
+ ```gnuplot
44
+ #g-s_method.plt
45
+ cd 'C:\Users\%USERNAME%\Desktop\gnuplot'
46
+
47
+ set pm3d
48
+ set pm3d map
49
+ set pm3d interpolate 1, 10
50
+ set ticslevel 0
51
+ set cbrange[-1:1]
52
+ set xrange [-1:1]
53
+ set yrange [-1:1]
54
+ set palette rgbformulae 15, 5, 7
55
+ splot 'g-s_result.dat' with pm3d
56
+ replot y
57
+ ```
58
+
59
+ こんな感じになりますが、さて?
60
+
61
+ ![splot2](210b93f0773bc26ebe9d626324185a10.png)

1

Update

2021/12/05 04:45

投稿

melian
melian

スコア21263

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  > `$1 != prev {printf "\n"; prev=$1}` # 空行を出力
6
6
  > `{print}` # その行自体を出力
7
7
 
8
- この awk スクリプトと同じ処理になるようにプログラムを変更します。ただ、データの数値をそのまま比較すると全てが孤立線になってしまいますので、10倍して整数値に丸めています(粗過ぎる?)
8
+ この awk スクリプトと同じ処理になるようにプログラムを変更します。ただ、データの数値をそのまま比較すると全てが孤立線になってしまいますので、10倍して整数値に丸めて比較しています(粗過ぎる?)
9
9
 
10
10
  ```c
11
11
  int tmp_count = 0;