ページ 11

計算プログラム

Posted: 2009年11月15日(日) 22:58
by 9mm
太陽高度の計算プログラムとそれを利用して日射量を求めるというプログラムを作りたいのですが、まだCを始めて間もないのでどういう風に作っていけばいいかわかりません。
一応太陽高度を求める式は以下のようになっています。

sin(h)=sin(a)*sin(b)+cos(a)*cos(b)*cos(c)

h:太陽高度
a:日赤緯
b:北緯
c:時角

ここでそれぞれ

c=15*(T-12)+L-135+(e/4)

T:日本標準時 (単位:時間)
L:東経 (単位:度)
e:均時差 (単位:分)

w=360*N/366

a=0.362-23.3*cos(w+6.8)-0.337*cos(2*w-11.9)-0.185*cos(3*w+35.5)

e=-0.0167+7.37*cos(w+85.6)-9.93*cos(2*w-72.3)-0.321*cos(3*w-66.3)

N:1月1日から起算した日数

ここまでが太陽高度を求める計算です。

ここから日射量を求める計算です。

I'=I*(Pの1/sin(h)乗)

I:太陽定数=1353
P:大気透過率

これが日射量を求める計算式です。

この二つを利用して問題を解くプログラムを作成するという課題です。

1.N=1の時、1日の日射量(I')を一分毎に計算せよ。
2.毎日12時の日射毎(I')を1日毎に計算せよ。

かなり専門的な分野なので分かりにくいかと思います。すいません。

あとヒントをもらったんですが、これもよくわからないので一応乗せておきます。

m[1]=31
m[2]=28
m[3]=31
 ・
 ・
 ・
m[12]=31

month:月 読み込み
day:日 読み込み

M=0

for(i=1,i<month,i+t){
M=M+m
}

N=M+day


さっぱりのヒントですww

分かりづらくてすいません。ぜひお願いします。