• ベストアンサー

風向の平均値

風向の平均値を正確に出す方法を教えてください。 たとえば、 358°と2°という風向データの平均を取ると本当は0°なハズです。 しかしaverageを用いると180°になってしまいます。このような場合の平均をうまくとる方法を教えてください。 データ処理上大変困ってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.6

苦手分野なので、あくまでも参考として…… おそらく、ベクトルとして足してやり、単位ベクトルから角度を求めてやれば良いのだと思います。 358度:(-0.035,0.999) 2度:(0.035,0.999) ベクトルの足し算:(-0.035+0.035,0.999+0.999)=(0,1.998) スカラー:SQRT(0^2+1.998^2)=1.998 ↓ 合算した単位ベクトル:(0,1) ⇒ 0度 Excelでやるとすると、こんな感じでしょうか。 A列に平均したい角度が入っているとします(例:A1に358、A2に2、A3に90、……)。 B列に =SIN(RADIANS(A1))  C列に =COS(RADIANS(A1)) どちらも下までコピーしてやります。 これでB、C列がベクトルの成分になります。 E1に =SQRT(SUM(B:B)^2+SUM(C:C)^2) これがスカラー F1に =SUM(B:B)/E1 G1に =SUM(C:C)/E1 F1,G1が合算した単位ベクトル。ここから角度を出します。 H1に =DEGREES(ACOS(G1)) これが平均角度

noname#124388
質問者

お礼

わかりやすい解説ありがとうございます。 Degrees⇒Radian・・・で僕の考えは終わってました。 ⇒ベクトルまで持っていけばできそうですね。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.5

もしかしたら、358°の表記が間違っていませんか? 風向きなら、真北を 0°とすると、東へ 2°と西へ 2°との平均は、2°と -2°との平均0°となりますが、 2°と 358°だと、急に風向きが1回転するように変化したことになり、平均は 180°となるように思います。

noname#124388
質問者

お礼

解析データの関係上、北を0度として+でしか表記をしていません。

全文を見る
すると、全ての回答が全文表示されます。
  • TTak
  • ベストアンサー率52% (206/389)
回答No.4

風向の場合は、平均よりも分布の方が良いと思われますが如何でしょう? 0°±22.5° →a[%] 45°±22.5° →b[%] 90°±22.5° →c[%] 135°±22.5° →d[%] 180°±22.5° →e[%] ・・・・・・ などです。

noname#124388
質問者

お礼

分布はとって解析しています。 CFD(数値シュミレーション)と比較したいので平均値の矢印が出せたら比較しやすいかなーと思い作りたかったので調べていました。 書き込みありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.3

補足です。 2つの風向がちょうど反対のときはエラー表示にする場合は、 =IF(ABS(A2-B2)=180,"×",MOD(AVERAGE(A2:B2)+(ABS(A2-B2)>180)*180,360)) _____A_____B_____C 1__角1__角2__劣弧の中点[平均?] 2____30____80___55 3____30___150___90 4____30___240__315 5____30___330____0 6____30___350___10 7____30___210___× 3つ以上の平均は考えなくていいですよね...?

noname#124388
質問者

お礼

3つどころか何百個の平均をしたいので。。。 ちょっとこの考えは使えませんでした。 使用方法を詳しく明記せずすみません。 書き込みありがとうございました♪

全文を見る
すると、全ての回答が全文表示されます。
  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.2

円周上の2点を結ぶ劣弧(短いほうの弧)の真ん中 の角度を0°~359°で求めたい、ということでしょうか? _____A_____B_____C 1__角1__角2__劣弧の中点[平均?] 2____30____80___55 3____30___150___90 4____30___240__315 5____30___330____0 6____30___350___10 C2 =MOD(AVERAGE(A2:B2)+(ABS(A2-B2)>180)*180,360) 下方向・↓

noname#124388
質問者

お礼

試してみたいと思います。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

直感的には、算術平均をとった場合にその数値は、中間の値(正しい値)となる場合と、反対方向(ご質問の例)を示す値の場合のどちらかになるはずと思われます。 なので、角度をt1、t2とするなら (1) (t1-t2)mod 360 と(t2-t1)mod 360の絶対値の小さい方を使って計算する。 (2) (t1+t2)/2 及びその反対方向(+180°)でt1に近い方を採用する(差が小さい方) でよいのでは? (書き方が違うけど、1と2は同じです) きちんとした、アプローチをするなら・・・ 風向は向きを持っているので、実はベクトルなので・・・ 極座標をx,y座標に変換して平均してから、角度に戻す要領で、 (3) 座標 ( (sin(t1)+sin(t2)) , (cos(t1)+cos(t2)) ) の角度を求めれば良いという考え方ができます。 この方法であれば、データの重み付けをすることや3個以上のデータを平均することも簡単ですね。 実際の計算処理では、座標点までは単純計算で求められるものの、角度に戻す時に、符合による判定などが必要になってしまうので、こちらも、処理上はほぼ1、2に近いとも言えますが、考え方に関してはこれが正確では?

noname#124388
質問者

お礼

ん~そうですね! 全てベクトル分解して平均を取ってからまた直せば平均になりますね。 ラジアンに変換してまでは考えたのですが、もっと原点に返ればいいんですね。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで0を除く平均値と0の平均値を同時に表示させる方法について

    エクセルで、0を除いた平均を、 {=AVERAGE(IF(A1:A10<>0,A1:A10,""))}の数式を使って求めた場合、 データがすべて0の列の平均はエラー値になってしまいます。 すべてが0の場合は0と表示させたいのですが、どのような方法がありますでしょうか? 1つの計算式を使って、上記の2つの処理は可能でしょうか?

  • エクセルの平均値を出す時に困ってます

    家計簿でそれぞれの平均をエクセルで出そうとしているんですが A~G列の列ごとに出したいのですが  ABCD・・・ (1)245 (2)4 7 (3) 54 (4)578 (5)68 上記のように列に空白があり、そのままaverageで平均を出すと 空白も計算してしまい、正確な平均が出ないので困っています 曜日ごとにつけていますので、どうしても空白が出来てしまうですが このような場合に平均値を正確に出す時になにか良い、計算方法は ないでしょうか?

  • Excelの30個ずつの平均値の出し方

    実験の解析で約6万個の要素を処理しているのですが、 1~30番目、31~60番目、61~90番目…の平均といったように6万まで求めたいのですがうまくいきません。 1~30番目、31~60番目の平均をそれぞれAVERAGEを使って出して、オートフィルを使って6万まで行こうとしたんですが出来ませんでした。 何か良い方法をご存知の方、教えてください。

  • EXCELの平均を出す関数について

    初歩的な質問となりますが、 どうぞよろしくお願いいたします。 sheet1に下記のようなデータがあります。   A    B    D 1 日付  売上  平均 2 7/1   200    3 7/2   100   =AVERAGE(B2:B3) 4 7/3   300   =AVERAGE(B2:B4) 5 7/4   200   =AVERAGE(B2:B5) 6 7/5         ・ 7 7/6         ・ ・  ・          ・ ・  ・          ・ ・  ・          ・ 32 7/31        =AVERAGE(B2:B5) 現在B6までデータが入力されています。 D列に今日までの平均を表示したいのですが、 上記のようなAVERAGE関数をD32まで先に埋めてしまった場合、 B6:B32のあす以降の計算結果も出てしまいます。 B列のセルに入力がない限り、 今日の日付以降を計算しない(空欄)ようにする方法はありますか? よろしくお願いいたします。

  • 関数(平均)

    簡単な質問かもしれませんが、下記のような場合の平均値を求めたいです。宜しくお願いします。 例) A B C 1 4/1 15 2 4/2 20 3 4/3 35 4 4/4 55 5 4/5 25 6 4/6 0 7 4/7 10 8 4/8 40 9 4/9 45 10 4/10 50 11 4/11 60 12 4/12 0 13 4/13 0 上記では「0」のところは稼動日数からマイナスして平均値を算出したいのですが、当然のことながら=AVERAGE(C1:C13)だと、実際の稼動日数とは異なります。このような場合の処理を教えて下さい。お願いします。

  • エクセル 平均値の導出方法を教えてください

    はじめまして! 理系の大学4年生です。 E28 E65009 上記住所間に、64982個の数値データがあります。 これを上から順に10個ずつまとめた平均を出したいです。 現在は、 =AVERAGE(E28:E37) =AVERAGE(E38:E47) (省略) =AVERAGE(E4998:E5007) =AVERAGE(E5008:E5017) まで導出し終わっています。 私のやり方はまず、基本となる =AVERAGE(E:E) をコピペし、数値を手動で入力しています。 最終的な平均値個数6498個中、499個は上記のやり方で求めました。 …が! 質問内容のデータの次は、さらに一桁多い個数のデータが控えています。 ご察しの通り、これではいつ終わることやら…(涙)(涙) 今の私のやり方よりも、効率のいい平均値導出方法はありませんか? 64982個の数値データを上から順に、 10個ずつまとめた平均を出したいです。

  • Excelで10回ずつ測定したデータの平均を表にする方法が分からなくて

    Excelで10回ずつ測定したデータの平均を表にする方法が分からなくて困っています。 データが1万個くらいあるのですが、 =AVERAGE(D16:D25) と入力してオートフィルを使っても、 =AVERAGE(D17:D26) と表示されてします。 このように少しずつずらすのではなく =AVERAGE(D16:D25)  =AVERAGE(D26:D35) =AVERAGE(D36:D55) と表示していきたいのですがやり方が分からなくて困ってます。 データが多く1つずつ手打ちするのが大変なのですが、簡単な方法はありませんか?

  • EXCELで0をカウントしないで平均を出したい

    平均値を求めたいのですが、AVERAGE関数を使うと値が0の分もカウントされて平均値が出てしまいます。 これを0を除いたものだけの平均値にしたいのです。 ちなみにこの平均値をもとめたいものは他のファイルからリンクを貼ってデータを持ってきています。 リンクを貼ってデータを持ってきていないものは、IF文を使って0だったら空白にするという風にしたら出来たのですが。。 ちなみに、今現在一個一個AVERAGE関数で0以外の部分を選択して出しています。これだと毎回直さないといけないので辛いです。どなたか教えてください!! EXCELのバージョンは2000です。

  • マクロで名前をつけたセル範囲の平均値を求める

    Excel2000のマクロを使用しています。 まだまだ初心者なので、少し複雑になるとさっぱりです。 ぜひお力をお貸しください。 例) A1のセルに200、A2のセルに300、A3のセルに500のデータを持ち、 Range("A1":"A3")に "data"と名前を付けたとします。 ここでAVERAGE関数を使いたいのですが、 ActiveCell.FormulaR1C1 = "=AVERAGE("A1":"A3")"という方法ではなく "data"で参照して平均値を求めたいのですが、 ActiveCell.FormulaR1C1 = "=AVERAGE(data)としても参照してくれません。 この場合のいい解決法があったら教えてください。 よろしくお願いいたします。

  • 平均値と中央値の関係

    平均値は異常値に引っ張られ、データが大きくなったりすると聞きました。 中央値はそのような影響を受けないとも聞きました。 平均年収などは、一部の高給な人が平均年収を吊り上げているので より現実に近いのは中央値だとも聞きました。 中央値<平均値 となるケースはあると思いますが、 平均値<中央値 となることもあるのでしょうか? 無効な数字がある場合は、除外してエクセルのaverageやMedianは 異常値をはじいて出してくれるのでしょうか? (1,2,3,4 という数字の中に あ、か、さ、のようなひらがながある場合) 教えて頂ければと思います。

専門家に質問してみよう