以下のプログラムの中でeth(n), eph(n)は、配列なのですが、配列宣言はどのようにしたらよいのでしょうか?doループでnが決まるのでどのように配列宣言したらよいかわかりません。いろいろと試してはみたのですがコンパイルの際エラーがでてしまいます。わかる方がいらっしゃったら教えて下さい。よろしくお願いします。
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.dat")
! s = pi/180.0d0
phi = 0.0d0
! do i = 0, 180
! td = i
! theta = s*td
theta = pi/3.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, eph
enddo
! enddo
close(10)
return
end subroutine
No.2ベストアンサー
- 回答日時:
「doループでnが決まる」ってどういう意味? 普通に考えると「何らかの do ループを実行した結果, 最終的に n が求まる」ということになりそうだけど, このプログラムでは「n をループ変数にした do構文」があるだけだよね. それを「doループでnが決まる」と呼ぶのはおかしいです.
しかもその do ループでは n が 1 から ntime まで動いているだけなので, 「n」なんか無視して ntime を使って配列を定義すればいい.
本当に動的にメモリを確保したいなら allocate を使うんだけど, 少なくともこのプログラムを見た限り allocate が必要であるとは思えないなぁ.
No.1
- 回答日時:
こんにちは。
Fortran90から動的配列が使えるようになりました。
下記サイトをご参照ください。
http://yebisu.cc.kyushu-u.ac.jp/~watanabe/RESERC …
より具体的な例はこちら。
http://www.nag-j.co.jp/fortran/FI_12.html#AUTOTO …
では。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- 数学 微分積分の二重積分についての問題がわからないです。 1 2022/07/17 02:36
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- 数学 回答者どもがなかなか答えられないようなので、考えてみました。 ∫[0,π/2]log(sinx)/( 4 2022/08/31 16:30
- 数学 座標変換について 1 2022/08/04 16:42
- 数学 tan(z)=h(z)/(z-π/2)から h(z)=-(z-π/2)cos(z-π/2)/sin( 2 2022/08/01 23:44
- 数学 線形代数の行列についての問題がわからないです。 1 2022/07/18 17:46
- 数学 y軸周りの回転行列は ふたつとも間違いですか? 色々探しても cos 0 sin 0 1 0 -si 6 2023/04/24 00:01
- 物理学 物理の問題です。 1 2022/12/20 23:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートで 変数に代入す...
-
フローチャートの菱形が狭い。。。
-
あるプログラムのコマンドライ...
-
C言語の課題で、1年の秒数を計...
-
Excelで4096点以上のFFTの方法
-
0除算して、落ちるプログラムと...
-
「Outlookが他のプログラムによ...
-
C++ で、「)」が必要 というエ...
-
バッチファイルでUSB挿入時に実行
-
graph.hがincludeできない
-
正しい五十音順について
-
読み込み中にアクセス違反が発...
-
アプリのプログラムを見るには...
-
このプログラミング誰か教えて...
-
65536は2の何乗なのでしょうか?
-
XnViewにwebpを「いつも開く」...
-
JCLの基本について教えてください
-
C++でアボート(Abort)で処理が...
-
プログラムを斜めに並べる
-
VBAで仕様書は書きますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フローチャートの菱形が狭い。。。
-
フローチャートで 変数に代入す...
-
フローチャート以外の設計方法
-
フローチャートで。
-
サブルーチンのフローチャート...
-
Delphiで配列をファイルに出力...
-
フローチャート
-
フローチャートの解き方が分か...
-
C++で二次方程式のプログラム
-
初心者のフローチャート
-
Rの質問です。 x<-rnorm(n=100,...
-
fortran90/95における計算結果...
-
for文のフローチャート
-
FORTRAN★DO WHILE★の問題
-
フローチャート
-
学校でフローチャートって教わ...
-
FORTRAN subroutineと配列と繰...
-
【fortran】フーリエ級数について
-
C言語のプログラミングに関する...
-
正しい五十音順について
おすすめ情報