以下のプログラムの中で実行結果で最後の n = ntime (ntime =600) だけ、つまりwth, wphの最後のntimeだけをファイルに書き出したい場合どのようにwrite文を書けばよいのでしょうか?わかる方がいらっしゃたら教えて下さい。よろしくお願いします。
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(mmax), eph(mmax)
real(8) :: ceth, ceph
open(10,file="far_field_eth.dat")
open(20,file="far_field_eph.dat")
theta = 0.0d0
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
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
enddo
call fft_eth(ntime,eth,ceth)
call fft_eph(ntime,eph,ceph)
close(10)
close(20)
return
end subroutine
No.2ベストアンサー
- 回答日時:
ループが終了した時点では,wth(1:ntime)に値が入っているのだから,その時点でwth(ntime)を出力すればよいだけ。
ついでに
wth = wx(l,n)*dx+wy(l,n)*sy+wz(l,n)*sz
はタイポだよね。
No.5
- 回答日時:
eth(ntime) や eph(ntime) が計算されるのは最後だから, do ループの「中」で出力させてもしょうがない. ループが終わってから出力しないと.
#2 でも「ループが終了した時点で」って言われてるよね.
No.4
- 回答日時:
あ,私も勘違いしてる。
wth(ntime)こんなモノはなかった。> あと, このサブルーチンの中で l を定義していないんだけどそれは大丈夫?
constsか,fdtdで定義していることを期待します。
この回答への補足
lは別のサブルーチン(出力前のプログラム)でdoループで l = 1, 180という計算をさせています。fdtdで定義しています。
補足日時:2010/01/18 16:06No.3
- 回答日時:
ああ, eth とか eph じゃないですね. すみません.
... あれ? だとしたら単に「do を抜けてから uth とか wph を表示する」だけでいいような気がするんだけど.... 何か盛大に勘違いしてるのか?
あと, このサブルーチンの中で l を定義していないんだけどそれは大丈夫?
この回答への補足
すみません。こちらのタイプミスです。出力したいのはeth(n), eph(n)の配列の最後の部分の n =ntime だけです。最初のアドバイスだとdoループ内で(今書いてある位置で)eth(ntime), eph(ntime)と書けばよいのでしょうか?よろしくお願いします。
補足日時:2010/01/18 16:02お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- 数学 tan(z)=h(z)/(z-π/2)から h(z)=-(z-π/2)cos(z-π/2)/sin( 2 2022/08/01 23:44
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) FORTRANの引数 5 2023/04/06 11:25
- 物理学 運動量演算子の交換関係について 5 2022/06/14 17:17
- 数学 座標変換について 1 2022/08/04 16:42
- 数学 次の関数を微分せよ y=sin^4 x cos^4 x という問題で自分は積の微分法で微分して y' 3 2023/05/17 20:38
- 数学 回答者どもがなかなか答えられないようなので、考えてみました。 ∫[0,π/2]log(sinx)/( 4 2022/08/31 16:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートで 変数に代入す...
-
フローチャートの菱形が狭い。。。
-
fortran errorについて
-
正しい五十音順について
-
VBAで仕様書は書きますか?
-
C++ で、「)」が必要 というエ...
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
Excelに埋め込んだVBAのプログ...
-
VBAの再計算が反映されない件に...
-
PICマイコンのコピー(クローン...
-
排他的論理和 BCC(水平パリテ...
-
Dijkstraて
-
65536は2の何乗なのでしょうか?
-
C++でアボート(Abort)で処理が...
-
C言語(gcc), Linux, FTPプログ...
-
自動クエリとはどういうもので...
-
コンパイルできない
-
COBOLのピリオド
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フローチャートの菱形が狭い。。。
-
フローチャートで 変数に代入す...
-
フローチャート以外の設計方法
-
フローチャートで。
-
サブルーチンのフローチャート...
-
Delphiで配列をファイルに出力...
-
フローチャート
-
フローチャートの解き方が分か...
-
C++で二次方程式のプログラム
-
初心者のフローチャート
-
Rの質問です。 x<-rnorm(n=100,...
-
fortran90/95における計算結果...
-
for文のフローチャート
-
FORTRAN★DO WHILE★の問題
-
フローチャート
-
学校でフローチャートって教わ...
-
FORTRAN subroutineと配列と繰...
-
【fortran】フーリエ級数について
-
C言語のプログラミングに関する...
-
正しい五十音順について
おすすめ情報