質問編集履歴

4

誤字

2020/01/27 08:43

投稿

teshiteshi
teshiteshi

スコア5

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  ・風向は16方位に区切られているので、隣り合う方位の角度の間隔は22.5°
70
70
 
71
- 西を正面とすると(このデータでは西とた)
71
+ 西を正面とし
72
72
 
73
73
  西北西と西南西は22.5°、北西と南西は45°、北北西と南南西は67.5°
74
74
 
@@ -174,6 +174,8 @@
174
174
 
175
175
  colE = float(row[4])
176
176
 
177
+ #この先からつまずいています。
178
+
177
179
 
178
180
 
179
181
 

3

書式の変更

2020/01/27 08:43

投稿

teshiteshi
teshiteshi

スコア5

test CHANGED
File without changes
test CHANGED
@@ -132,7 +132,9 @@
132
132
 
133
133
 
134
134
 
135
- ----------
135
+ ```
136
+
137
+
136
138
 
137
139
  import csv
138
140
 
@@ -174,7 +176,9 @@
174
176
 
175
177
 
176
178
 
179
+
180
+
177
- -------------------------
181
+ ```
178
182
 
179
183
  この後に
180
184
 

2

質問内容が伝わるよう修正

2020/01/27 08:02

投稿

teshiteshi
teshiteshi

スコア5

test CHANGED
File without changes
test CHANGED
@@ -58,22 +58,14 @@
58
58
 
59
59
  処理の方法は
60
60
 
61
- 特定の向を満たしている風速の値を2乗する。
61
+ ➀風速の値を2乗する。
62
+
63
+
64
+
65
+ ➁次に角度補正を行いたいため、風向によってcosθを風速の2乗の値にかける
62
66
 
63
67
  ex)上記のデータの場合
64
68
 
65
- 16方位で南南西・南西・西南西・西・西北西・北西・北北西を満たす風速の値を2乗
66
-
67
- (10.5)^2+(9.1)^2+(8.1)^2+(7.8)^2+(6.8)^2+(5.3)^2+(6.2)^2+・・・・・
68
-
69
-
70
-
71
-
72
-
73
- ➁次に角度補正を行いたいため、風向によってcosθを風速の2乗の値にかける
74
-
75
- ex)上記のデータの場合
76
-
77
69
  ・風向は16方位に区切られているので、隣り合う方位の角度の間隔は22.5°
78
70
 
79
71
  西を正面とすると(このデータでは西とした)
@@ -100,7 +92,9 @@
100
92
 
101
93
 
102
94
 
103
- ➂ ➁の値を全部足し合わせる。
95
+ ➂ ➁の値で、特定の風向(今回の場合'南南西','南西','西南西','西','西北西','北西','北北西')満たすもの全部足し合わせる。
96
+
97
+
104
98
 
105
99
 
106
100
 

1

質問内容が伝わるよう修正

2020/01/27 02:51

投稿

teshiteshi
teshiteshi

スコア5

test CHANGED
File without changes
test CHANGED
@@ -120,12 +120,6 @@
120
120
 
121
121
  ➁のような、ある風向にはcos(22.5)をかけ、ある風向にはcos(45)をかけるといった処理ができずに悩んでおります。
122
122
 
123
- また、このデータでは西を基準にしましたが、ほかのデータでは東や南東や北北東など基準はそれぞれ違うので、処理するデータに合わせて、プログラムを少し書き換えて動かせるようなものをつくりたいと考えています。
124
-
125
-
126
-
127
-
128
-
129
123
 
130
124
 
131
125
 
@@ -138,21 +132,31 @@
138
132
 
139
133
  長い文章になって申し訳ございません。
140
134
 
141
- このような処理がきるような方法をご教示ただけないでしょうか
135
+ で今現在このような流れ動かしていこと思ってます
142
-
136
+
143
- どうか回答よろくお願いいたします
137
+ 以下に記します
144
-
145
-
146
-
147
-
148
-
138
+
139
+
140
+
149
- ---------------------------------------------
141
+ ----------
150
142
 
151
143
  import csv
152
144
 
153
-
145
+ import math
146
+
147
+
148
+
154
-
149
+ cos0 = math.cos(math.radians(0))
150
+
151
+ cos225 = math.cos(math.radians(22.5))
152
+
153
+ cos45 = math.cos(math.radians(45))
154
+
155
+ cos675 = math.cos(math.radians(67.5))
156
+
157
+
158
+
155
- f = open("寺泊test.csv", "r")
159
+ f = open("test.csv", "r")
156
160
 
157
161
  reader = csv.reader(f)
158
162
 
@@ -174,21 +178,37 @@
174
178
 
175
179
  colE = float(row[4])
176
180
 
177
- if (colE >= 0) and (row[5] in Direction):
181
+
178
-
179
- sum += pow(colE,2)
182
+
180
-
181
-
182
-
183
- print(sum)
184
-
185
- f.close()
186
-
187
-
188
-
189
-
190
-
191
- ------------------------------------
183
+ -------------------------
184
+
185
+ この後に
186
+
187
+ ➀ colEを全て二乗
188
+
189
+
190
+
191
+ ➁ Directionの7方位で
192
+
193
+ 方位が西のcolE(2乗したもの)にcos0を掛ける
194
+
195
+ 方位が西南西・西北西のcolE(2乗したもの)にcos225を掛ける
196
+
197
+ 方位が南西・北西のcolE(2乗したもの)にcos45を掛ける
198
+
199
+ 方位が南南西・北北西のcolE(2乗したもの)にcos675を掛ける
200
+
201
+
202
+
203
+ ➂2乗値を補正した値を足し合わせる
204
+
205
+
206
+
207
+ といった流れでできないかと考えています。
208
+
209
+
210
+
211
+
192
212
 
193
213
 
194
214