アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のように実行結果のプログラムを書いたのですが、実行結果の値の(配列)の内容がどのようになっているのか混乱しています。実行結果の値は、
n = 1, l = 1, 2, 3,...,180, n = 2, l = 1, 2, 3, .....180 ...... n = ntime, l = 1, 2, 3, ...180 と書き出されているのでしょうか?どなたかわかる方がいらっしゃったら教えて下さい。よろしくお願いします。

subroutine far_output
use consts
use fdtd
implicit none

integer :: n, i, td
real(8) :: s
real(8) :: theta, phi
real(8) :: sx, sy, sz, px, py
real(8) :: wth, wph, uth, uph
real(8) :: eth(1000), eph(1000)

open(10,file="far_field_eth.dat")
open(20,file="far_field_eph.dat")
open(30,file="far_field.dat")
! s = pi/180.0d0
theta = 0.0d0
! do i = 0, 360
! td = i
! phi = s*td
phi = 0.0d0
sx = cos(theta)*cos(phi)
sy = cos(theta)*sin(phi)
sz = -sin(theta)
px = -sin(phi)
py = cos(phi)
do n = 1, ntime
! s = pi/180.0d0
! theta = 0.0d0
! do i = 0, 360
! td = i
! phi = s*td
wth = wx(l,n)*dx+wy(l,n)*sy+wz(l,n)*sz
wph = wx(l,n)*px+wy(l,n)*py
uth = ux(l,n)*sx+uy(l,n)*sy+uz(l,n)*sz
uph = ux(l,n)*px+uy(l,n)*py
eth(n) = -z0*wth-uph
eph(n) = -z0*wph+uth

write(10,*) eth
write(20,*) eph
write(30,*) wx(l,n)

enddo
! enddo

l(エル)は前の(別の)プログラムで l = 1, 180 のdoループで計算させています。

A 回答 (2件)

l に対するループがないので, 「n = 1, l = 1, 2, 3,...,180, n = 2, l = 1, 2, 3, .....180 ...... n = ntime, l = 1, 2, 3, ...180 と書き出されている」ことはありえません. このプログラムだと, 各 n について


・far_field_eth.dat に eth(1:1000)
・far_field_eph.dat に eph(1:1000)
・far_field.dat に wx(l, n)
が出力される (それ以前に l の値がおかしいとこけるはず) んじゃないかな.
そもそも「どうして混乱しているのか」が見えないのですが.

この回答への補足

式の中で
wth = wx(l,n)*dx+wy(l,n)*sy+wz(l,n)*sz
wph = wx(l,n)*px+wy(l,n)*py
uth = ux(l,n)*sx+uy(l,n)*sy+uz(l,n)*sz
uph = ux(l,n)*px+uy(l,n)*py
eth(n) = -z0*wth-uph
eph(n) = -z0*wph+uth
とありますが、上4つの式は2次元配列なのに、最後の式2つは1次元配列になっているので出力結果がどうなのか混乱しています。最後の式2つは2次元配列ではなくてもちゃんと計算されるのでしょうか?よろしくお願いします。

補足日時:2010/01/13 12:06
    • good
    • 0

補足に書いてあることの意味が分かりません.


「上4つの式は2次元配列なのに、最後の式2つは1次元配列になっている」と書かれていますが, 式が 1次元配列であるとか 2次元配列であるというのをどのような意味で使っているのですか? 式 (の右辺) で得られる値はスカラですし, それを代入しているのもスカラですよね.
    • good
    • 0
この回答へのお礼

そうですね、式で得られる値はスカラーだから配列に関する質問はおかしいですね。納得しました。ありがとうございました。

お礼日時:2010/01/14 11:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!