このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
FORTRAN使いが優しくコメントを返しますが、
お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。
●注意事項
・質問する前にGoogle等の検索サイトで検索しましょう。
・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。
・エラーの場合は起きた状況、環境(OS・コンパイラ・バージョン)、エラーメッセージも詳しく書きましょう。
●前スレ
くだすれFORTRAN(超初心者用)その5
http://toro.2ch.net/test/read.cgi/tech/1269704830/
●過去スレ
くだすれFORTRAN(超初心者用)その4
http://pc12.2ch.net/test/read.cgi/tech/1232789521/
くだすれFORTRAN(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1196384126/
くだすれFORTRAN(超初心者用)その2
http://pc11.2ch.net/test/read.cgi/tech/1164121236/
くだすれFORTRAN(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1138063703/
探検
くだすれFORTRAN(超初心者用)その6
■ このスレッドは過去ログ倉庫に格納されています
2012/08/16(木) 20:58:00.31
323デフォルトの名無しさん
2014/02/03(月) 02:41:03.77 他にも数値計算のデバッグテクニックとか先輩から教えてもらう機会はあるんですけど
ちゃんとした理論がよくわかってないのでとりあえずやってる状態なんですよね・・・
本でちゃんと勉強したいんですが、そういうのが書いてあるものが見つからないし。
愚痴ばっかですみません。スレ汚し失礼しました。
ちゃんとした理論がよくわかってないのでとりあえずやってる状態なんですよね・・・
本でちゃんと勉強したいんですが、そういうのが書いてあるものが見つからないし。
愚痴ばっかですみません。スレ汚し失礼しました。
324デフォルトの名無しさん
2014/02/03(月) 20:33:23.17 あ、ごめん。見なおしたら、「数値計算の常識」では6,7ページくらい使って説明されてたわ。
どこで学んだかと言われると、たしかによくわからない。
口伝かな。
どこで学んだかと言われると、たしかによくわからない。
口伝かな。
325デフォルトの名無しさん
2014/02/03(月) 22:40:36.33 そうですか!とりあえず買ってみます。
326デフォルトの名無しさん
2014/02/05(水) 01:20:23.89 物理の本では無次元化が必ず出てくるぞ。
量子力学とか割と基礎的なテキストで。
桁落ちのことを考えると、すべての量のオーダーがそろった方がいいしな。
量子力学とか割と基礎的なテキストで。
桁落ちのことを考えると、すべての量のオーダーがそろった方がいいしな。
327デフォルトの名無しさん
2014/02/23(日) 23:46:00.03 すみませんが教えていただけないでしょうか
うろ覚えのFORTRAN77思い出しながらプログラムを書きました。
で、gFortran 4.8.2で実行したら、エラーが出てプログラムが途中で止まってしまいました。
どの行が原因なのか調べたら、プリント文に問題がありそうなのです。
その部分を取り出しますと、
program checkdbl
double precision dx
dx = 2.0d0
print *,dx
end
これを実行すると
Program received signal SIGILL: Illegal instruction.
Backtrace for this error:
#0 ffffffff
とメッセージが出て、dxの値が表示されないのです。
(試しに変数dxをrealにして2.0を代入してもダメで、
でも整数にして、2を代入したらちゃんと表示されました)
倍精度の数値を表示させるにはどうしたらいいのでしょうか?
どうぞよろしくお願いいたします
うろ覚えのFORTRAN77思い出しながらプログラムを書きました。
で、gFortran 4.8.2で実行したら、エラーが出てプログラムが途中で止まってしまいました。
どの行が原因なのか調べたら、プリント文に問題がありそうなのです。
その部分を取り出しますと、
program checkdbl
double precision dx
dx = 2.0d0
print *,dx
end
これを実行すると
Program received signal SIGILL: Illegal instruction.
Backtrace for this error:
#0 ffffffff
とメッセージが出て、dxの値が表示されないのです。
(試しに変数dxをrealにして2.0を代入してもダメで、
でも整数にして、2を代入したらちゃんと表示されました)
倍精度の数値を表示させるにはどうしたらいいのでしょうか?
どうぞよろしくお願いいたします
328デフォルトの名無しさん
2014/02/24(月) 00:29:23.77 OSはLinuxか?
ライブラリかなんかの整合が取れていない気がする。
ライブラリかなんかの整合が取れていない気がする。
329デフォルトの名無しさん
2014/02/24(月) 01:05:53.35 プログラム自体の問題ではなく、実行ファイルが不正な命令を実行しようとしたのが原因。
それがコンパイラのバグなのか、コンパイラオプションや実行環境の問題なのかはわからん。
それがコンパイラのバグなのか、コンパイラオプションや実行環境の問題なのかはわからん。
330327
2014/02/24(月) 12:18:08.81 >>328-329
レスありがとうございます
OSはXPでコンパイラオプションは
-oだけ使ってます
文法の間違いでないと分かって
とりあえずひと安心しました
インストールしなおしとか旧バージョン
使うとかしてみます
たいへんどうもありがとうございました
レスありがとうございます
OSはXPでコンパイラオプションは
-oだけ使ってます
文法の間違いでないと分かって
とりあえずひと安心しました
インストールしなおしとか旧バージョン
使うとかしてみます
たいへんどうもありがとうございました
331デフォルトの名無しさん
2014/02/24(月) 12:46:33.66 >327
gfortranで実行したら、
2.0000000000000000
と結果がでてきましたよ
gfortranで実行したら、
2.0000000000000000
と結果がでてきましたよ
333デフォルトの名無しさん
2014/02/25(火) 00:34:40.34 >332
GNU Fortran 4.7.3
Windows 7 64bit
optionなし
です。
GNU Fortran 4.7.3
Windows 7 64bit
optionなし
です。
334332
2014/02/25(火) 01:16:16.64 >>333
ありがとうございます!
旧バージョンを使うと吉なのかもですね
こちらはその後、(再インストールの前に)プリント文を使わなくてもいいように
プログラムを改造してみたのですが……
ここで新たに、実はプリント文・ライト文に関係なく同じエラーが出ることがわかり、
ちょっとorzorzorz……な心境です
とりあえず、プログラムの作成と並行して、コンパイラの方もなんとかしてみたいです
ちなみに今回のエラーは、文法確認のために作った次のプログラムで出てきました
program checkpwr2
double precision dx, dxp2, dxp2d
dx = 2.0d0
dxp2 = dx**2
dxp2d = dx**2d0 ! ←ここでエラー発生
print *, dxp2, dxp2d
end
もう少しいろいろ調べてみます
長文失礼しました
ありがとうございます!
旧バージョンを使うと吉なのかもですね
こちらはその後、(再インストールの前に)プリント文を使わなくてもいいように
プログラムを改造してみたのですが……
ここで新たに、実はプリント文・ライト文に関係なく同じエラーが出ることがわかり、
ちょっとorzorzorz……な心境です
とりあえず、プログラムの作成と並行して、コンパイラの方もなんとかしてみたいです
ちなみに今回のエラーは、文法確認のために作った次のプログラムで出てきました
program checkpwr2
double precision dx, dxp2, dxp2d
dx = 2.0d0
dxp2 = dx**2
dxp2d = dx**2d0 ! ←ここでエラー発生
print *, dxp2, dxp2d
end
もう少しいろいろ調べてみます
長文失礼しました
335デフォルトの名無しさん
2014/02/25(火) 01:55:16.47 もうF77のプログラムに手を加える作業はいやだお・・・
今module内のSubroutineからLAPACKのZGEEV呼ぼうとしているんですが、
LAPACKのサブルーチンって外部副プログラムですよね?
毎回interface文を書くのが正しい書き方なんでしょうか?
使ってるのはintel fortran & MKLです。
module
...
contains
subroutien foo
implicit none
interface
subroutine ZGEEV(jobvl, jobvr, ...
...
みたいな感じに。
今module内のSubroutineからLAPACKのZGEEV呼ぼうとしているんですが、
LAPACKのサブルーチンって外部副プログラムですよね?
毎回interface文を書くのが正しい書き方なんでしょうか?
使ってるのはintel fortran & MKLです。
module
...
contains
subroutien foo
implicit none
interface
subroutine ZGEEV(jobvl, jobvr, ...
...
みたいな感じに。
336デフォルトの名無しさん
2014/02/25(火) 04:06:21.32 LAPACK用の95用 INTERFACE MODULEは公式であったろ。NETLIB無間地獄を探せw
337デフォルトの名無しさん
2014/02/25(火) 09:23:01.24 >334
こちらでは、正常にコンパイルし、
4.0000000000000000 4.0000000000000000
結果がでます。
ついでに、プログラムを
program checkpwr2
real(16) dx, dxp2, dxp2d
dx = 2.0d0
dxp2 = dx**2
dxp2d = dx**2d0 ! ←ここでエラー発生
print *, dxp2, dxp2d
end
とかえて、実行してみましたが、こちらも
4.00000000000000000000000000000000000 4.00000000000000000000000000000000000
と正常にコンパイルでき、結果もでてきました。
4倍長計算
こちらでは、正常にコンパイルし、
4.0000000000000000 4.0000000000000000
結果がでます。
ついでに、プログラムを
program checkpwr2
real(16) dx, dxp2, dxp2d
dx = 2.0d0
dxp2 = dx**2
dxp2d = dx**2d0 ! ←ここでエラー発生
print *, dxp2, dxp2d
end
とかえて、実行してみましたが、こちらも
4.00000000000000000000000000000000000 4.00000000000000000000000000000000000
と正常にコンパイルでき、結果もでてきました。
4倍長計算
338334
2014/02/26(水) 21:39:32.88 >>337
お手数おかけしてすみません
やっぱ私の環境がダメすぎってことみたいですねorz
あれから再インストールをしてみたのですが同じエラーがでてまして、
それで、インストール時の環境を変えてみるか、それかバージョンを落としてみるか
してみようと思ってます
うまく行ったらお礼がてら報告したいと思います
たいへんどうもありがとうございました
お手数おかけしてすみません
やっぱ私の環境がダメすぎってことみたいですねorz
あれから再インストールをしてみたのですが同じエラーがでてまして、
それで、インストール時の環境を変えてみるか、それかバージョンを落としてみるか
してみようと思ってます
うまく行ったらお礼がてら報告したいと思います
たいへんどうもありがとうございました
339デフォルトの名無しさん
2014/02/27(木) 00:16:02.97 MinGW-builds
Dual-target(32 & 64-bit) MinGW compilers for 32 and 64-bit windows
http://sourceforge.net/projects/mingwbuilds/
Download mingw-get-setup.exe (86.5 kB)
http://sourceforge.net/projects/mingw/files/
この辺使えば自動でダウンロードしてくれるぞ。
おれは上の奴で入れたかな。win8 64bit
Dual-target(32 & 64-bit) MinGW compilers for 32 and 64-bit windows
http://sourceforge.net/projects/mingwbuilds/
Download mingw-get-setup.exe (86.5 kB)
http://sourceforge.net/projects/mingw/files/
この辺使えば自動でダウンロードしてくれるぞ。
おれは上の奴で入れたかな。win8 64bit
340デフォルトの名無しさん
2014/02/27(木) 01:07:55.10 あー書き込みたい
341デフォルトの名無しさん
2014/02/27(木) 22:19:15.92 >>335
インテルなら use lapack95 を implicit none の前の行に足し
mkl_lapack95_lp64.lib をコンパイルに足したまえ
ぶっちゃけ interface 書かなくとも呼べる。引数チェックは無論効かないが
インテルなら use lapack95 を implicit none の前の行に足し
mkl_lapack95_lp64.lib をコンパイルに足したまえ
ぶっちゃけ interface 書かなくとも呼べる。引数チェックは無論効かないが
342デフォルトの名無しさん
2014/02/27(木) 22:23:14.15343338
2014/02/27(木) 23:05:41.71 >>339
レスdです
実は私もそこのを使ってエラってたのですが、でもおかげ様で
「他のサイトから落としたファイルならうまく行くかも」、
ってことに思いいたりました
で、探したところgcc wikiっていうところで非公式ながら
お手軽そうなインストーラを発見、さっそく落として
コンパイルしてみましたら
完動です!!!!
小数点のあとに0がいっぱい並んでるので、記念にスクショ撮りましたw
たいへんどうもありがとうございました
レスdです
実は私もそこのを使ってエラってたのですが、でもおかげ様で
「他のサイトから落としたファイルならうまく行くかも」、
ってことに思いいたりました
で、探したところgcc wikiっていうところで非公式ながら
お手軽そうなインストーラを発見、さっそく落として
コンパイルしてみましたら
完動です!!!!
小数点のあとに0がいっぱい並んでるので、記念にスクショ撮りましたw
たいへんどうもありがとうございました
344デフォルトの名無しさん
2014/02/28(金) 01:11:13.40 >343
無事出来てよかったですね!
それにしても、Fortran IVとか、Fortran 77では、せいぜい
2倍長演算しかできなかったのですが、いまでは、4倍長演算
がらくらくできるのですから、隔世の感があります。
無事出来てよかったですね!
それにしても、Fortran IVとか、Fortran 77では、せいぜい
2倍長演算しかできなかったのですが、いまでは、4倍長演算
がらくらくできるのですから、隔世の感があります。
345デフォルトの名無しさん
2014/02/28(金) 01:24:15.95 Debian 32bit版に gfortran 入れて数値計算してるんですが、配列って2gb までしか割り当てられないのでしょうか?
346デフォルトの名無しさん
2014/02/28(金) 20:13:18.20 >>345
32bit版ならできないと思いますよー
32bit版ならできないと思いますよー
347デフォルトの名無しさん
2014/02/28(金) 21:27:17.52348デフォルトの名無しさん
2014/03/01(土) 01:45:11.84 4倍長はソフトウェアで計算しているから10倍以上遅いから
むやみに初心者には教えんなw
むやみに初心者には教えんなw
349デフォルトの名無しさん
2014/03/01(土) 05:45:52.65 >336 >341->342
遅くなりましたがレスありがとうございます!
Intelさんの優しさが五臓六腑に染みますわあ
遅くなりましたがレスありがとうございます!
Intelさんの優しさが五臓六腑に染みますわあ
350デフォルトの名無しさん
2014/03/01(土) 17:12:18.11351デフォルトの名無しさん
2014/03/02(日) 15:54:25.99 OS&コンパイラ64bit版にしても、静的な配列は2Gまでだったりすることが多いから、
よく調べた方がいいぞ。むろん動的には2Gを超えて確保できるが。
これは手抜きではなく、まだ整数のデフォは32bitだし、単精度実数とデフォ整数
長さを合わせるという約束とかもあるから色々全体整合で仕方ない事情がある。
よく調べた方がいいぞ。むろん動的には2Gを超えて確保できるが。
これは手抜きではなく、まだ整数のデフォは32bitだし、単精度実数とデフォ整数
長さを合わせるという約束とかもあるから色々全体整合で仕方ない事情がある。
352デフォルトの名無しさん
2014/03/03(月) 02:46:29.22 >>351
うーん、難しい話ですね。
単純に64bitにしたからって載せてるメモリフルフルで使えるわけではないってことですね?
どうしても配列を一度に百万行ほど読み込ませて数値計算を行いたいのでほとほと困り果ててます。
和書だとあまりフォートランに関して詳しい解説本(オプションやらテクニック的なもの)が少ない気がするのですが、何かオススメありますか?
うーん、難しい話ですね。
単純に64bitにしたからって載せてるメモリフルフルで使えるわけではないってことですね?
どうしても配列を一度に百万行ほど読み込ませて数値計算を行いたいのでほとほと困り果ててます。
和書だとあまりフォートランに関して詳しい解説本(オプションやらテクニック的なもの)が少ない気がするのですが、何かオススメありますか?
353デフォルトの名無しさん
2014/03/04(火) 23:40:05.16 昔は西村恕彦が粘着していたが、その後は粘着いないね。
・66でJIS FORTRAN全釈―電子計算機プログラム用言語
・77で岩波FORTRAN辞典
・90ではMetcalf&Reid本訳者としてbit 別冊『詳解 Fortran 90』
Metcalf & Reid 本もF2003から Cohen が加わったが、これは東京に住んでるんだから
次世代匂い付き粘着野郎が生まれてもいいはずだ!w
とはいえアメリカ人も粘着ばばあのJ.C.Adamsが死んでからFortran Handbookが
でなくなったので寒い時代になってしまった。
・66でJIS FORTRAN全釈―電子計算機プログラム用言語
・77で岩波FORTRAN辞典
・90ではMetcalf&Reid本訳者としてbit 別冊『詳解 Fortran 90』
Metcalf & Reid 本もF2003から Cohen が加わったが、これは東京に住んでるんだから
次世代匂い付き粘着野郎が生まれてもいいはずだ!w
とはいえアメリカ人も粘着ばばあのJ.C.Adamsが死んでからFortran Handbookが
でなくなったので寒い時代になってしまった。
354デフォルトの名無しさん
2014/03/07(金) 00:23:39.85 >>350 プログラム終了までほっといていいなら deallocate 不要
サブルーチンで宣言した非 save の allocatable は
サブルーチン抜けると勝手に deallocate したかと
サブルーチンで宣言した非 save の allocatable は
サブルーチン抜けると勝手に deallocate したかと
355デフォルトの名無しさん
2014/03/07(金) 02:00:33.33356デフォルトの名無しさん
2014/03/08(土) 00:26:57.93 Fortran90 からずっと 6.3.3.1 Deallocation of allocatable arrays で述べてる
return または end で手続きの実行が終了したとき、その手続きの局所変数は deallocate されると
allocate 時の問題じゃないことは当然確認したね?コードうp
return または end で手続きの実行が終了したとき、その手続きの局所変数は deallocate されると
allocate 時の問題じゃないことは当然確認したね?コードうp
357デフォルトの名無しさん
2014/03/08(土) 00:46:31.22 >>356
むっちゃコード長いプラスモジュール化してるんでつけどOKでつか?
むっちゃコード長いプラスモジュール化してるんでつけどOKでつか?
358デフォルトの名無しさん
2014/03/08(土) 02:56:59.79359デフォルトの名無しさん
2014/03/09(日) 00:53:32.50 仕様にあるから…ってもベンダ依存はしゃーないか
http://www.nag.co.uk/sc22wg5/links.html
だがモジュール変数は解放されない
あとむしろそういうコード解析できる機会ないからくれるなら是非
公開したこと他の奴に怒られる事態になっても知らないけど
http://www.nag.co.uk/sc22wg5/links.html
だがモジュール変数は解放されない
あとむしろそういうコード解析できる機会ないからくれるなら是非
公開したこと他の奴に怒られる事態になっても知らないけど
360デフォルトの名無しさん
2014/03/09(日) 03:31:03.92 F90
>Any other allocatable array that is currently allocated becomes
>undefined and the allocation status becomes
>undefined at the execution of a RETURN or END statement.
>
>If an allocatable array has an undefined allocation status,
>the allocatable array must not be subsequently
>referenced, defined, allocated, or deallocated.
F95
>When the execution of a procedure is terminated by execution of
> a RETURN or END statement, an allocatable array that is a local
> variable of the procedure and is not included in the above
>categories has allocation status as follows:
> (1) If it is accessed by use association, its allocation status is processor dependent.
> (2) Otherwise, it is deallocated (as if by a DEALLOCATE statement).
規格を見ると、F90で明示的にDEALLOCATEしないでRETURNすると、ホントは二度といじって
いけないエンガチョになるんだな。F95は気を利かしてDEALLOCATEしてくれる。
>Any other allocatable array that is currently allocated becomes
>undefined and the allocation status becomes
>undefined at the execution of a RETURN or END statement.
>
>If an allocatable array has an undefined allocation status,
>the allocatable array must not be subsequently
>referenced, defined, allocated, or deallocated.
F95
>When the execution of a procedure is terminated by execution of
> a RETURN or END statement, an allocatable array that is a local
> variable of the procedure and is not included in the above
>categories has allocation status as follows:
> (1) If it is accessed by use association, its allocation status is processor dependent.
> (2) Otherwise, it is deallocated (as if by a DEALLOCATE statement).
規格を見ると、F90で明示的にDEALLOCATEしないでRETURNすると、ホントは二度といじって
いけないエンガチョになるんだな。F95は気を利かしてDEALLOCATEしてくれる。
361デフォルトの名無しさん
2014/03/24(月) 22:03:24.67ID:NcnrpLpF 保守
コンパイラ任せでなく、Fortran 言語の範疇で、まともに
高速化を考える人間ってどれくらいいるのだろうか
コンパイラ任せでなく、Fortran 言語の範疇で、まともに
高速化を考える人間ってどれくらいいるのだろうか
362デフォルトの名無しさん
2014/03/25(火) 07:28:56.11ID:mXzRLR6s363デフォルトの名無しさん
2014/03/25(火) 21:47:05.41ID:jjQiXJR+ とりあえず文法は ggれならぬ nagれ、だな。本は洋書しかないし
http://www.nag-j.co.jp/fortran/
一昔前のベクトル型計算機向けっぽい(最近のアクセラレータで見直されてる)
ループ変数固定とか仮引数の非エリアスとかの暗黙制約、
配列表現の柔軟さに ELEMENTAL & PURE 関数、
Fortran 直じゃないが OpenMP & MPI と割となんでも明示化できるが、
逆に言うと複雑かつこれやっとけばおk的な部分がないのと、
そこまで性能にシビアな世界はニッチかつ閉鎖的すぎる、特に国内事情で。
http://www.nag-j.co.jp/fortran/
一昔前のベクトル型計算機向けっぽい(最近のアクセラレータで見直されてる)
ループ変数固定とか仮引数の非エリアスとかの暗黙制約、
配列表現の柔軟さに ELEMENTAL & PURE 関数、
Fortran 直じゃないが OpenMP & MPI と割となんでも明示化できるが、
逆に言うと複雑かつこれやっとけばおk的な部分がないのと、
そこまで性能にシビアな世界はニッチかつ閉鎖的すぎる、特に国内事情で。
364デフォルトの名無しさん
2014/03/26(水) 21:12:26.41ID:OKU3OlE2 国内でFortran使ってる人口がそもそも少なそう
365デフォルトの名無しさん
2014/03/28(金) 02:08:30.32ID:OEPLP/0i 最近コンピュータというとWEBがらみでテキスト処理機みたいなノリが強いが、
本来の電子計算機としてはFortran不動だべ。
そして日本は結構Fortran市場/ユーザーでかいんでないかな。
Intel Fortranは英語以外には唯一日本語マニュアル等を出しているし。
アメリカ以外でハード・OS・コンパイラまともに作れるの日本ぐらいでね。
本来の電子計算機としてはFortran不動だべ。
そして日本は結構Fortran市場/ユーザーでかいんでないかな。
Intel Fortranは英語以外には唯一日本語マニュアル等を出しているし。
アメリカ以外でハード・OS・コンパイラまともに作れるの日本ぐらいでね。
366デフォルトの名無しさん
2014/03/28(金) 07:40:18.76ID:27mpC+N6 ちょいとスレチかもしれませんが、みなさん変数の命名法ってどうしてますか?
ん
ん
367デフォルトの名無しさん
2014/03/29(土) 14:26:34.57ID:iivY7v+4 商業利用は少ないし、研究機関での個人・少人数開発がほとんどだし、明文化されたコーディング規約ってなかなか見つからんよな。
C++も併用してるので、そっちの命名規約と統一してる。
変数大文字6文字縛りは勘弁な。
C++も併用してるので、そっちの命名規約と統一してる。
変数大文字6文字縛りは勘弁な。
368デフォルトの名無しさん
2014/03/30(日) 02:02:03.27ID:wC7BTSuT WEB世界の偉い人wでもFortranの知識が66や77時代のイメージ止まりで
とんちんかんな事を言っていて笑える。
アドバイスで数値計算はFortranじゃなくてもいいとか言って、
初心者たぶらかして冬山にTシャツ、サンダルで登山させるような
悪い奴多すぎで草不可避www
とんちんかんな事を言っていて笑える。
アドバイスで数値計算はFortranじゃなくてもいいとか言って、
初心者たぶらかして冬山にTシャツ、サンダルで登山させるような
悪い奴多すぎで草不可避www
369デフォルトの名無しさん
2014/04/12(土) 01:07:03.97ID:Ab832t2z fortran90なんだけど、
三次元配列に二次元配列の要素を代入したいんだけど、どうすればいいかな?
a(i,j)に時間軸tを追加して、
do t=1,100
b(i,j,t)=a(i,j)
end do
こういうイメージで、逐次のa(i,j)を代入したいっす。
三次元配列に二次元配列の要素を代入したいんだけど、どうすればいいかな?
a(i,j)に時間軸tを追加して、
do t=1,100
b(i,j,t)=a(i,j)
end do
こういうイメージで、逐次のa(i,j)を代入したいっす。
370デフォルトの名無しさん
2014/04/12(土) 02:03:40.35ID:7FV8vMmK b(:,:,t)=a
でおk?
でおk?
371デフォルトの名無しさん
2014/04/12(土) 02:56:42.37ID:7b7Ca2J/ え そんなシンプルでおk?
ありがとうございます
ありがとうございます
372デフォルトの名無しさん
2014/04/15(火) 10:35:48.57ID:nSLuXsCJ b(:,:,t)=a(i,j)ってやれば二次元配列に時間軸を追加したものができるのか
よくある:ってなんの意味なんです?
よくある:ってなんの意味なんです?
373デフォルトの名無しさん
2014/04/15(火) 19:04:08.61ID:2Visq3rw b(:,:,t)=a(i,j) だと駄目。
>>370 のとおりじゃないと。
部分配列を指定するのにコロンを使う。
たとえば配列 v の第2成分から第10成分までなら v(2:10)。
コロンの両脇に数字がないのは、成分あるだけ全部という意味。
>>370 のとおりじゃないと。
部分配列を指定するのにコロンを使う。
たとえば配列 v の第2成分から第10成分までなら v(2:10)。
コロンの両脇に数字がないのは、成分あるだけ全部という意味。
374デフォルトの名無しさん
2014/04/15(火) 19:11:45.41ID:0DdTk08m ちょうどいい解説があった
http://www.str.ce.akita-u.ac.jp/~gotou/zyouhou/f90/sec6.html#6.4.
http://www.str.ce.akita-u.ac.jp/~gotou/zyouhou/f90/sec6.html#6.4.
375デフォルトの名無しさん
2014/04/15(火) 21:45:58.64ID:y6pD2KFL376デフォルトの名無しさん
2014/04/15(火) 22:23:43.96ID:2Visq3rw >>375
373 で俺が言いたかったことは、配列 a について
「a」や「a(:, :)」と書くと配列全体を意味する。
「a(i, j)」と書くのは(前もって i, j に整数が代入されていれば)成分 a(i, j) つまりただひとつの数字を意味する。
ということ。
したがって b(:, :, t) = a と書けば配列全体の代入なので
b(1, 1, t) = a(1, 1)
b(1, 2, t) = a(1, 2) のように配列の対応する成分が代入されるが、b(:, :, t) = a(i, j) と書けば
b(1, 1, t) = a(i, j)
b(1, 2, t) = a(i, j)...
のように、ただひとつの同じ数字が代入される。
373 で俺が言いたかったことは、配列 a について
「a」や「a(:, :)」と書くと配列全体を意味する。
「a(i, j)」と書くのは(前もって i, j に整数が代入されていれば)成分 a(i, j) つまりただひとつの数字を意味する。
ということ。
したがって b(:, :, t) = a と書けば配列全体の代入なので
b(1, 1, t) = a(1, 1)
b(1, 2, t) = a(1, 2) のように配列の対応する成分が代入されるが、b(:, :, t) = a(i, j) と書けば
b(1, 1, t) = a(i, j)
b(1, 2, t) = a(i, j)...
のように、ただひとつの同じ数字が代入される。
377デフォルトの名無しさん
2014/04/15(火) 22:26:34.41ID:y6pD2KFL >>376
なるほど、よくわかりました。ありがとうございます。数日前にfortranをはじめましたがプログラミング自体がほぼ初なのでとても勉強になりました。
人の書いたプログラムのある一つのサブルーチンを修正したいのですが、変数の名前の設定の仕方も人それぞれだし、読むというのはとても大変ですね。
なるほど、よくわかりました。ありがとうございます。数日前にfortranをはじめましたがプログラミング自体がほぼ初なのでとても勉強になりました。
人の書いたプログラムのある一つのサブルーチンを修正したいのですが、変数の名前の設定の仕方も人それぞれだし、読むというのはとても大変ですね。
378デフォルトの名無しさん
2014/04/15(火) 22:33:12.92ID:pcXih3Yx >>377
追記の質問なのですが、bは三次元配列でaは二次元配列ですが、こちらが指示しなくても、aをbの:,:部分に入れるのですね。
これは次元の違うものを代入をするとき、どのように対応するのかは次元で決まるということでしょうか。
aは1次元、2次元成分をもつ配列だから、それを代入する先もbの1次元、2次元成分に代入するということですよね?
追記の質問なのですが、bは三次元配列でaは二次元配列ですが、こちらが指示しなくても、aをbの:,:部分に入れるのですね。
これは次元の違うものを代入をするとき、どのように対応するのかは次元で決まるということでしょうか。
aは1次元、2次元成分をもつ配列だから、それを代入する先もbの1次元、2次元成分に代入するということですよね?
379デフォルトの名無しさん
2014/04/15(火) 22:51:15.04ID:2Visq3rw b(:, :, t) と a(:, :) は同じ次元です。
>>369,370 のレスを踏まえて書いているので、
do t=1,100
b(:, :,t)=a
end do
のように使うことを想定しています。
b(:, :, :) は3次元配列だけど、b(:, :, 1), b(:, :, 2), ..., b(:, :, 100) はそれぞれ2次元配列です。
なので b(:, :, t) = a は2次元配列を2次元配列に代入していることになります。
>>369,370 のレスを踏まえて書いているので、
do t=1,100
b(:, :,t)=a
end do
のように使うことを想定しています。
b(:, :, :) は3次元配列だけど、b(:, :, 1), b(:, :, 2), ..., b(:, :, 100) はそれぞれ2次元配列です。
なので b(:, :, t) = a は2次元配列を2次元配列に代入していることになります。
380デフォルトの名無しさん
2014/04/16(水) 01:41:26.57ID:9gYQIu+P >>379
>b(:, :, :) は3次元配列だけど、b(:, :, 1), >b(:, :, 2), ..., b(:, :, 100) はそれぞれ2次元配>列です。
配列については調べましたが、意味がわかりませんでした。なぜ二次元配列なのでしょうか
integer a
dimension a(2,3,1)
私はこれは3次元の配列だと思っています。
配列の次元は,で区切った数で決まるのではないのですか
>b(:, :, :) は3次元配列だけど、b(:, :, 1), >b(:, :, 2), ..., b(:, :, 100) はそれぞれ2次元配>列です。
配列については調べましたが、意味がわかりませんでした。なぜ二次元配列なのでしょうか
integer a
dimension a(2,3,1)
私はこれは3次元の配列だと思っています。
配列の次元は,で区切った数で決まるのではないのですか
381勝手に横レス
2014/04/16(水) 03:26:06.14ID:k2nSQYfZ >>380
:は指定した配列の範囲を一度に指定する表記
配列の宣言を
real, dimension(1:5,1:5) :: a
real, dimension(1:5,1:5,1:10) :: b
としたとき
aと書いた場合は配列全体を指すので5×5の2次元配列を指す
a(1,1)は添え字を具体的な数で指定しているので一つの変数を指している
a(:,:)は添え字が全て:なので二つの添え字が全範囲を指定している
そのためaと書いた場合と同じ5×5の2次元配列を指す
a(:,1)と書いた場合は一つ目の添え字は全範囲を、
二つ目の添え字は具体的な数なので一つの成分を指定している
そのため5つの要素の1次元配列を指す
b(:,:,1)の場合bの最後の添え字は具体的な数なので
次元が一つ下がり、5×5の2次元配列となる
宣言の次元と計算途中で使われる次元は一致しなくて良い
NAGのサイトで部分配列で調べると良いよ
:は指定した配列の範囲を一度に指定する表記
配列の宣言を
real, dimension(1:5,1:5) :: a
real, dimension(1:5,1:5,1:10) :: b
としたとき
aと書いた場合は配列全体を指すので5×5の2次元配列を指す
a(1,1)は添え字を具体的な数で指定しているので一つの変数を指している
a(:,:)は添え字が全て:なので二つの添え字が全範囲を指定している
そのためaと書いた場合と同じ5×5の2次元配列を指す
a(:,1)と書いた場合は一つ目の添え字は全範囲を、
二つ目の添え字は具体的な数なので一つの成分を指定している
そのため5つの要素の1次元配列を指す
b(:,:,1)の場合bの最後の添え字は具体的な数なので
次元が一つ下がり、5×5の2次元配列となる
宣言の次元と計算途中で使われる次元は一致しなくて良い
NAGのサイトで部分配列で調べると良いよ
382デフォルトの名無しさん
2014/04/17(木) 22:25:20.75ID:TQr8bRVR >>381
遅くなりました。非常にわかりやすい解説ありがとうございます。NAGで少しずつ勉強しています
遅くなりました。非常にわかりやすい解説ありがとうございます。NAGで少しずつ勉強しています
383デフォルトの名無しさん
2014/04/20(日) 11:29:29.42ID:LM2YJqRp すみません
fortranを始めようと思ってるものですが
おすすめの開発環境を教えていただけないでしょうか?
今はgfortranとvimでプログラミングを始めようかと思っているのですが
いちいちvimで書いて保存してvimをぬけてコンパイルして実行するのが手間だなと感じています。
vimを抜けずに書いたプログラムをコンパイル、実行できればいいのですが。
そこでおすすめの開発環境を教えていただきたいのです。
fortranを始めようと思ってるものですが
おすすめの開発環境を教えていただけないでしょうか?
今はgfortranとvimでプログラミングを始めようかと思っているのですが
いちいちvimで書いて保存してvimをぬけてコンパイルして実行するのが手間だなと感じています。
vimを抜けずに書いたプログラムをコンパイル、実行できればいいのですが。
そこでおすすめの開発環境を教えていただきたいのです。
384デフォルトの名無しさん
2014/04/20(日) 11:40:02.65ID:rCakeQE3 小規模ならエディタ+コマンドラインでいいと思うけど
gfortranで統合開発環境ならeclipseが無難
https://www.eclipse.org/downloads/
ここからEclipse for Parallel Application Developersをダウンロード
gfortranで統合開発環境ならeclipseが無難
https://www.eclipse.org/downloads/
ここからEclipse for Parallel Application Developersをダウンロード
385デフォルトの名無しさん
2014/04/21(月) 08:18:52.31ID:9DEaCYEm >>384
小規模でもエクリプス使う利点ある?
小規模でもエクリプス使う利点ある?
386デフォルトの名無しさん
2014/04/21(月) 11:58:42.13ID:INTGmmt1 否定するだけじゃなく、代替案を示せよ!
サヨクちゃんかよw
サヨクちゃんかよw
387デフォルトの名無しさん
2014/04/21(月) 13:10:45.24ID:9DEaCYEm388デフォルトの名無しさん
2014/04/22(火) 18:21:36.11ID:i3jJvf/a Gfortran 使いです。
Cycle 文についての質問だけど、
do a = 1, 5
If ( a .ge. 3) then
a = a + 1
cycle
endif
enddo
とかだったら a = 12 になるのかな?
Cycle 文についての質問だけど、
do a = 1, 5
If ( a .ge. 3) then
a = a + 1
cycle
endif
enddo
とかだったら a = 12 になるのかな?
389デフォルトの名無しさん
2014/04/23(水) 00:33:33.39ID:cH3Ejolk do 変数をいじっちゃいけないはず。
自分のおちんちん/おまんこはいじってもいいよ。
自分のおちんちん/おまんこはいじってもいいよ。
390デフォルトの名無しさん
2014/04/23(水) 00:35:19.04ID:4m41LpoI ループ中でループ変数(この場合は a)は変更できない
391デフォルトの名無しさん
2014/04/23(水) 02:10:49.07ID:2MktZpH7 間違えた
a = {1, 3, 4, 6, 7}の配列として,
do i = 1, 5
If ( mod(a) .eq. 0) then
write(*,*) a
cycle
endif
enddo
とかだったらターミナルに
4
6
って表示されるのかな?
つまりはcycleってのはdo の文頭に戻るでOK?
a = {1, 3, 4, 6, 7}の配列として,
do i = 1, 5
If ( mod(a) .eq. 0) then
write(*,*) a
cycle
endif
enddo
とかだったらターミナルに
4
6
って表示されるのかな?
つまりはcycleってのはdo の文頭に戻るでOK?
392デフォルトの名無しさん
2014/04/23(水) 02:47:07.80ID:cH3Ejolk おじちゃん、少しは文法書読みなよw
4
6
って表示されるよ!
でも間違いありすぎ。
a = [1,3,4,6,7] !
または (/ 1,3,4,6,7 /) な。EBCDIC には [,] 記号がないから、
大かっこは最近まで使わなかったのよ。
do i = 1, 5
if (mod(a(i), 2) == 0) then
write(*, *) a(i)
cycle
end if
end do
まぁ、この場合CYCLEの意味ないけどw
4
6
って表示されるよ!
でも間違いありすぎ。
a = [1,3,4,6,7] !
または (/ 1,3,4,6,7 /) な。EBCDIC には [,] 記号がないから、
大かっこは最近まで使わなかったのよ。
do i = 1, 5
if (mod(a(i), 2) == 0) then
write(*, *) a(i)
cycle
end if
end do
まぁ、この場合CYCLEの意味ないけどw
393デフォルトの名無しさん
2014/04/23(水) 04:13:45.15ID:2MktZpH7394デフォルトの名無しさん
2014/04/24(木) 04:26:06.40ID:PfDx1Fno 試した奴いるかい?
登録がめんどくさいんですけど。
インテル ソフトウェア開発製品 バージョン 2015 ベータ版 提供開始
インテル Parallel Studio XE、Cluster Studio XE に含まれるインテル コンパイラーやライブラリー、チューニング・ツールの次期バージョンのベータ・プログラムがはじまりました。
新機能や強化された機能はこちら【ベータ期間: 7月 11日(金)まで】
HTTPS software.intel.com/en-us/articles/intel-software-development-tools-2015-beta
登録がめんどくさいんですけど。
インテル ソフトウェア開発製品 バージョン 2015 ベータ版 提供開始
インテル Parallel Studio XE、Cluster Studio XE に含まれるインテル コンパイラーやライブラリー、チューニング・ツールの次期バージョンのベータ・プログラムがはじまりました。
新機能や強化された機能はこちら【ベータ期間: 7月 11日(金)まで】
HTTPS software.intel.com/en-us/articles/intel-software-development-tools-2015-beta
395デフォルトの名無しさん
2014/04/25(金) 18:01:43.49ID:nDom0mhY ちょっとお聞きしたいのですが、
構造体の1成分だけfunctionで計算するような
書き方はできないでしょうか
たとえば
function aaa(i,j)%a
ーーー
end functionなど・・
構造体初めて使うのでまだよくわかっておらずすいません
よろしくおねがいします
構造体の1成分だけfunctionで計算するような
書き方はできないでしょうか
たとえば
function aaa(i,j)%a
ーーー
end functionなど・・
構造体初めて使うのでまだよくわかっておらずすいません
よろしくおねがいします
396デフォルトの名無しさん
2014/04/25(金) 19:31:14.66ID:9DVeZXXS 「構造体の1成分だけfunctionで計算する」っていうのがよくわからない。
(1)function の引数として構造体の1成分を使うのか、(2)function の戻り値として構造体の1成分を得たいのか。
いずれにせよ、関数定義では構造体をあらわに使う必要がなさそう。
たとえば構造体の1成分 aaa(i,j)%a が real のばあいなら、関数定義は
function f(x)
real f, x
f = x**2
end function
のようにして、(1)なら呼び出し時に
b = f(aaa(i, j)%a)
のようにすればいいし、(2)なら呼び出し時に
aaa(i, j)%a = f(c)
のようにすればいいのではないでしょうか。
(1)function の引数として構造体の1成分を使うのか、(2)function の戻り値として構造体の1成分を得たいのか。
いずれにせよ、関数定義では構造体をあらわに使う必要がなさそう。
たとえば構造体の1成分 aaa(i,j)%a が real のばあいなら、関数定義は
function f(x)
real f, x
f = x**2
end function
のようにして、(1)なら呼び出し時に
b = f(aaa(i, j)%a)
のようにすればいいし、(2)なら呼び出し時に
aaa(i, j)%a = f(c)
のようにすればいいのではないでしょうか。
397デフォルトの名無しさん
2014/04/25(金) 19:54:42.69ID:nDom0mhY >>396
早速のレスありがとうございます
まだよくわかっておらずすいません
やりたかったことはおっしゃっていただいたまさに(2)です
教えていただいたやり方でできそうです
とても助かりました。ありがとうございました
また機会がありましたらよろしくおねがいします
早速のレスありがとうございます
まだよくわかっておらずすいません
やりたかったことはおっしゃっていただいたまさに(2)です
教えていただいたやり方でできそうです
とても助かりました。ありがとうございました
また機会がありましたらよろしくおねがいします
398デフォルトの名無しさん
2014/05/02(金) 21:33:28.65ID:ZxAJrCZC399デフォルトの名無しさん
2014/05/08(木) 01:43:46.59ID:akP1EH34 連休を利用してFortran2003用のCheet Sheetを作ってみた。
自分が使っていたメモと、このスレに出たこと等をギリギリ突っ込んでみた。
ttp://www.pdf-archive.com/2014/05/07/f2003quickref/f2003quickref.pdf
一応、プログラム片は、Intel Fortran 2015ベータで動くことを確かめたつもり。
誤り等があったら、やさしく指摘してくれ。
豆本になっているので両面印刷して、以下のサイトを参考にして本にしてくれ。
ttp://k.e-kuchikomi.info/K_140266/
自分が使っていたメモと、このスレに出たこと等をギリギリ突っ込んでみた。
ttp://www.pdf-archive.com/2014/05/07/f2003quickref/f2003quickref.pdf
一応、プログラム片は、Intel Fortran 2015ベータで動くことを確かめたつもり。
誤り等があったら、やさしく指摘してくれ。
豆本になっているので両面印刷して、以下のサイトを参考にして本にしてくれ。
ttp://k.e-kuchikomi.info/K_140266/
400デフォルトの名無しさん
2014/05/08(木) 22:20:11.32ID:GsOSKq7r intel fortranを使っていて、-parallelが速く使っているのですが、
以下のようなサブルーチンで、依存関係で自動並列化がされていないのですが、
並列化するためになにかヒントをご教授いただけないでしょうか。
(宣言後)
a=0
do k=1,kmax
do j=1,jmax
do i=1,imax
if(logical(j,i,k))then
a(j,k)=a(j,k)+1
endif
enddo
enddo
enddo
logicalはファンクションで別ファイルで書いています
勉強不足で申し訳ありませんがよろしくお願いします
以下のようなサブルーチンで、依存関係で自動並列化がされていないのですが、
並列化するためになにかヒントをご教授いただけないでしょうか。
(宣言後)
a=0
do k=1,kmax
do j=1,jmax
do i=1,imax
if(logical(j,i,k))then
a(j,k)=a(j,k)+1
endif
enddo
enddo
enddo
logicalはファンクションで別ファイルで書いています
勉強不足で申し訳ありませんがよろしくお願いします
401デフォルトの名無しさん
2014/05/08(木) 23:40:27.39ID:akP1EH34 LOGICALをPURE宣言すればいい。
PUREでないならコンパイラは判断できないので自動並列化は無理だろう。
手動でコンパイラ支持行で明示してやれ。
しかし、iは関数内にいれて
forall(j=1:jmax,k=1:kmax) a(j,k)=ifun(j,k)
pure function ifun(j,k)
...
do i = 1, imax
if (...) ifun = ifun + 1
end
みたいにしたほういい。
PUREでないならコンパイラは判断できないので自動並列化は無理だろう。
手動でコンパイラ支持行で明示してやれ。
しかし、iは関数内にいれて
forall(j=1:jmax,k=1:kmax) a(j,k)=ifun(j,k)
pure function ifun(j,k)
...
do i = 1, imax
if (...) ifun = ifun + 1
end
みたいにしたほういい。
402デフォルトの名無しさん
2014/05/09(金) 22:46:22.53ID:yQPNJst2 >>401
ご教授ありがとうございます
forallやpureなど使ったことがなく、書き方例など大変勉強になりました
ご教示いただいた内容で書いたのですが他との兼ね合いの依存関係なのかまた出てしまいました
(col. 58) remark: 並列依存関係: FLOW の依存関係が var$649 行 343 と var$649 行 91 の間に仮定されました。
などなど
どうも他のサブルーチンの書き方も並列化に悪いようで、教えていただいた並列化方法を頼りにまず勉強しなおして、
他のプログラム部分もいい機会なので見直そうと思います。
ありがとうございました。
ご教授ありがとうございます
forallやpureなど使ったことがなく、書き方例など大変勉強になりました
ご教示いただいた内容で書いたのですが他との兼ね合いの依存関係なのかまた出てしまいました
(col. 58) remark: 並列依存関係: FLOW の依存関係が var$649 行 343 と var$649 行 91 の間に仮定されました。
などなど
どうも他のサブルーチンの書き方も並列化に悪いようで、教えていただいた並列化方法を頼りにまず勉強しなおして、
他のプログラム部分もいい機会なので見直そうと思います。
ありがとうございました。
403デフォルトの名無しさん
2014/05/10(土) 00:07:21.90ID:ZxmW9Mt1 Linux 使いでEclipse + photran のフォートラン統合開発環境を構築しようかと考えているのですが、なかなかうまくいきません。
例えば、今までターミナル上で
Gfortran hoge.f90 main.f90 でコンパイルできたてのに、eclipse だと ant build not found とかででうまくいきません。
ちなみにhoge.f90 はモジュールファイルで、main.f90がメインプログラムです。
エクリプスでもhero.f90 (メインプログラム単体)単体のコンパイルは出来ています。
もしかして複数ファイルを同時に今コンパイルできないとか?
例えば、今までターミナル上で
Gfortran hoge.f90 main.f90 でコンパイルできたてのに、eclipse だと ant build not found とかででうまくいきません。
ちなみにhoge.f90 はモジュールファイルで、main.f90がメインプログラムです。
エクリプスでもhero.f90 (メインプログラム単体)単体のコンパイルは出来ています。
もしかして複数ファイルを同時に今コンパイルできないとか?
404デフォルトの名無しさん
2014/05/10(土) 01:44:31.61ID:X6uqaHXX プロジェクトにソースファイルを全部入れてビルドするだけだが駄目かい?
405デフォルトの名無しさん
2014/05/10(土) 05:24:00.09ID:ZxmW9Mt1406デフォルトの名無しさん
2014/05/11(日) 09:02:09.98ID:4C2ZppHJ407デフォルトの名無しさん
2014/05/11(日) 10:52:57.57ID:wJQWAvOW >>399
乙。いただいた
乙。いただいた
408デフォルトの名無しさん
2014/05/11(日) 12:54:27.66ID:a5cPk+x+409デフォルトの名無しさん
2014/05/11(日) 17:20:58.15ID:cyBk1jZ9 Implementing the Standards...including Fortran 2003
http://www.fortran.bcs.org/2007/jubilee/f50.pdf
Fortran 2003 and Beyond
パワポ
https://cug.org/5-publications/proceedings_attendee_lists/2005CD/S05_Proceedings/pages/Authors/Long-0517-1100/Long-0517-1100_slides.pdf
PDF
https://cug.org/5-publications/proceedings_attendee_lists/2005CD/S05_Proceedings/pages/Authors/Long-0517-1100/Long-0517-1100_paper.pdf
Intel Parallel Universe issue 11 p.22
https://software.intel.com/sites/default/files/parallel_mag_issue11.pdf
http://www.fortran.bcs.org/2007/jubilee/f50.pdf
Fortran 2003 and Beyond
パワポ
https://cug.org/5-publications/proceedings_attendee_lists/2005CD/S05_Proceedings/pages/Authors/Long-0517-1100/Long-0517-1100_slides.pdf
https://cug.org/5-publications/proceedings_attendee_lists/2005CD/S05_Proceedings/pages/Authors/Long-0517-1100/Long-0517-1100_paper.pdf
Intel Parallel Universe issue 11 p.22
https://software.intel.com/sites/default/files/parallel_mag_issue11.pdf
410デフォルトの名無しさん
2014/05/13(火) 00:50:14.94ID:X5XVCl1f fortranまとめwikiないよなそういえば
411デフォルトの名無しさん
2014/05/13(火) 11:18:46.53ID:Ml4tWcMx sin波のようななめらかな波形データから尖頭値を抽出するにはどうすればよいでしょうか。
波形データの入っている配列aから抽出したいのですが、sin波のような綺麗な周期を持っておらず、地震の観測波形のように不規則に連続して変化していっています。
波形データの入っている配列aから抽出したいのですが、sin波のような綺麗な周期を持っておらず、地震の観測波形のように不規則に連続して変化していっています。
412デフォルトの名無しさん
2014/05/14(水) 12:56:39.35ID:wOYwf617 こんなの来てた。
MODERN FORTRAN FOR SCIENTISTS AND ENGINEERS
By Damian Rouson
http://jolts.stanford.edu/72/modern_fortran_for_scientists_and_engineers
MODERN FORTRAN FOR SCIENTISTS AND ENGINEERS
By Damian Rouson
http://jolts.stanford.edu/72/modern_fortran_for_scientists_and_engineers
413デフォルトの名無しさん
2014/05/15(木) 01:14:31.34ID:cUF0eH5o >>406
いえ、そんなことおっしゃらず…
今までエディタ使って作成してたフォートランファイルをエクリプスのプロジェクトフォルダに入れてビルドしようとしてもうんともすんとも言わないです。
で、デバッグできないという…
いえ、そんなことおっしゃらず…
今までエディタ使って作成してたフォートランファイルをエクリプスのプロジェクトフォルダに入れてビルドしようとしてもうんともすんとも言わないです。
で、デバッグできないという…
414デフォルトの名無しさん
2014/05/15(木) 02:31:06.49ID:klLDqCtV Fortran90/95による実践プログラミング [単行本(ソフトカバー)]
安田 清和 (著), 水野 正隆 (著), 小野 英樹 (著)
http://www.amazon.co.jp/gp/product/4872594738
いつの間にかこんなのが出版されているんだが、見たやつ中身はどうよ?
目次からすると、おっおぅ!…ってかんじなんだがw
安田 清和 (著), 水野 正隆 (著), 小野 英樹 (著)
http://www.amazon.co.jp/gp/product/4872594738
いつの間にかこんなのが出版されているんだが、見たやつ中身はどうよ?
目次からすると、おっおぅ!…ってかんじなんだがw
415デフォルトの名無しさん
2014/05/16(金) 01:40:42.79ID:USQ/ZI5B なんかエクリプスとフォトランの詳しいマニュアルないかな?
本家でもversion古いし
本家でもversion古いし
416デフォルトの名無しさん
2014/05/16(金) 01:49:02.89ID:pE1PewlD417デフォルトの名無しさん
2014/05/16(金) 02:01:11.54ID:USQ/ZI5B418デフォルトの名無しさん
2014/05/16(金) 02:08:04.34ID:cU3+Idig fortranで書いたプログラムの出力ファイルを読み込んで、それを元にしたグラフを書かせたいのですが、1)それに適したグラフ描画ソフト2)そういったことを解説してある本はないでしょうか?
現状はExcelVBAで出力csvファイルを呼び出し、所定のExcelシートで編集してグラフにするためのデータを作成し、そのあと手動でグラフを作成しています。
Excelを挟まず、csvファイルをもとにグラフを描画してくれるプログラムがあるととてもありがたいのですが、何かできないでしょうか
現状はExcelVBAで出力csvファイルを呼び出し、所定のExcelシートで編集してグラフにするためのデータを作成し、そのあと手動でグラフを作成しています。
Excelを挟まず、csvファイルをもとにグラフを描画してくれるプログラムがあるととてもありがたいのですが、何かできないでしょうか
419デフォルトの名無しさん
2014/05/16(金) 07:25:49.77ID:USQ/ZI5B >>418
Gnuplot, R とか(´・_・`)
Gnuplot, R とか(´・_・`)
420デフォルトの名無しさん
2014/05/16(金) 15:01:20.39ID:GjdBspSJ 現在,windowsで大学の課題でmingwを使用してコードのコンパイルや実行しようとしています。
コンパイル自体は成功したようにみえたのですが実行する際に
「コンピュータにlibquadmath-0.dllがないため,プログラムを開始できません.
この問題を解決するには,プログラムを再インストールしてみてくだい.」
と表示され実行できません。
因みにコンパイルしたコード(hello.f90)は以下のようになります。
program hello
print *, 'Hello World!'
end program hello
またC言語(C++)のコードのコンパイルや実行には成功しています。
コンパイル自体は成功したようにみえたのですが実行する際に
「コンピュータにlibquadmath-0.dllがないため,プログラムを開始できません.
この問題を解決するには,プログラムを再インストールしてみてくだい.」
と表示され実行できません。
因みにコンパイルしたコード(hello.f90)は以下のようになります。
program hello
print *, 'Hello World!'
end program hello
またC言語(C++)のコードのコンパイルや実行には成功しています。
421デフォルトの名無しさん
2014/05/16(金) 19:43:53.43ID:xH+zzs4U path
422デフォルトの名無しさん
2014/05/16(金) 19:48:37.92ID:xH+zzs4U■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 日本政府、ネトウヨに媚びるために韓国との関係も悪化させてしまう [603416639]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】日本人錯乱「集団的自衛権行使に賛成。けど自衛隊を戦わせるのは反対」 [237216734]
- 自閉症が「んなっしょい」と連呼するお🏡
- FGOで好きなサーヴァントがアビゲイル、北斎、楊貴妃なんだが
