このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
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
721デフォルトの名無しさん
2015/01/16(金) 11:08:31.95ID:pdIo+qaj >>720
ありがとうm(__)m
ありがとうm(__)m
722デフォルトの名無しさん
2015/01/20(火) 00:53:26.59ID:jj5OmV/0 薄汚い乞食が多すぎたんだな
723デフォルトの名無しさん
2015/01/20(火) 02:58:09.86ID:jVCDWxyp >>722
確かに研究用途で無償版使われているって書いてるな
確かに研究用途で無償版使われているって書いてるな
724デフォルトの名無しさん
2015/01/20(火) 16:42:37.43ID:kWeIi6xm すみません。本読んだりGoogle等で調べましたが、いまいちわからなかったので質問させてください。
result.datというデータの中にある本来17行21列で表示するデータが
#(A,B)
(1,0)
・
・
・
(17,0)
(0,1)
・
・
・
(17,1)
(0,2)
・
・
・
(17,2)
・
・
・
(17,20)
というように1列で表示されているデータがあります。
openを使ってこれを読み込んで本来の17行21列の形にして別のデータとして出力したいのですが、
どなたか知恵をお貸しいただけませんか?またできればデータの(A,B)のAの部分だけ、Bの部分だけを取り出したいのですが、
どうすればよいのでしょうか?
result.datというデータの中にある本来17行21列で表示するデータが
#(A,B)
(1,0)
・
・
・
(17,0)
(0,1)
・
・
・
(17,1)
(0,2)
・
・
・
(17,2)
・
・
・
(17,20)
というように1列で表示されているデータがあります。
openを使ってこれを読み込んで本来の17行21列の形にして別のデータとして出力したいのですが、
どなたか知恵をお貸しいただけませんか?またできればデータの(A,B)のAの部分だけ、Bの部分だけを取り出したいのですが、
どうすればよいのでしょうか?
725デフォルトの名無しさん
2015/01/20(火) 17:17:10.54ID:zoNsgUGG >>724
過去レスヨメカス
過去レスヨメカス
726デフォルトの名無しさん
2015/01/20(火) 17:19:19.79ID:mCR0Xk39 >>725
ソウイワナイデオシエロヨ
ソウイワナイデオシエロヨ
727デフォルトの名無しさん
2015/01/20(火) 17:39:47.89ID:kWeIi6xm728デフォルトの名無しさん
2015/01/24(土) 14:38:14.65ID:vOXkay9k cosやexpとかの組み込み関数が学校のifortだと通るんだけど家のgfortranだと通らない助けて
no implicit typeって言われる
no implicit typeって言われる
729デフォルトの名無しさん
2015/01/24(土) 16:14:31.36ID:YsJc5wwN730デフォルトの名無しさん
2015/01/24(土) 17:04:25.97ID:vOXkay9k 4倍精度から倍精度にしたら実行できました
gcc4.6以降は4倍もサポートしてるそうなんですがおかしいですね…
ありがとうございました
gcc4.6以降は4倍もサポートしてるそうなんですがおかしいですね…
ありがとうございました
731デフォルトの名無しさん
2015/01/25(日) 14:22:03.88ID:mPYFAplZ >728
fortran 4.8.1
で
program test
real(16) :: D2R
D2R = 0.0174532925199432957692369076848861271344_16
write(*, *) '1/e= ',1/exp(1.0_16)
write(*,*) 'cos(30)= ',cos(30.0*D2R)
end program test
を実行すると
1/e= 0.367879441171442321595523770161460873
cos(30)= 0.866025403784438646763723170752936161
という答えが得られます
少なくとも30桁以上の精度がでているとおもいますが、
fortran 4.8.1
で
program test
real(16) :: D2R
D2R = 0.0174532925199432957692369076848861271344_16
write(*, *) '1/e= ',1/exp(1.0_16)
write(*,*) 'cos(30)= ',cos(30.0*D2R)
end program test
を実行すると
1/e= 0.367879441171442321595523770161460873
cos(30)= 0.866025403784438646763723170752936161
という答えが得られます
少なくとも30桁以上の精度がでているとおもいますが、
732デフォルトの名無しさん
2015/01/25(日) 14:24:04.46ID:mPYFAplZ >731
>fortran 4.8.1
は
gfortran 4.8.1
のtypoです。しつれいしました。
>fortran 4.8.1
は
gfortran 4.8.1
のtypoです。しつれいしました。
733デフォルトの名無しさん
2015/01/27(火) 15:08:58.38ID:TDQ9+ev7 >>730
もう解決しているかも知れないけれど、処理系がFortran2008と4倍精度をサポートしていれば
iso_fortran_envモジュールのreal128という定数を使う言語仕様に準拠した方法がある。
program qfloat
use iso_fortran_env
implicit none
real(kind = real128) :: q
q = 1 / exp(1.0_real128)
print *, q
end program qfloat
もう解決しているかも知れないけれど、処理系がFortran2008と4倍精度をサポートしていれば
iso_fortran_envモジュールのreal128という定数を使う言語仕様に準拠した方法がある。
program qfloat
use iso_fortran_env
implicit none
real(kind = real128) :: q
q = 1 / exp(1.0_real128)
print *, q
end program qfloat
734デフォルトの名無しさん
2015/01/30(金) 19:29:21.36ID:CPtXDESF 超初心者です。質問させていただきます。
forrtl:severe(24): end-of-file during read,unit 110,file C:tkshmd\www01.dat
というエラーが出たのですがどうすれば解決できますか?
教授から卒業研究用に渡されたもので、自分で書いたものではありません
11年前に卒業した先輩が書いたものらしいのです
fortranに関する知識は一切ございません。すみません
forrtl:severe(24): end-of-file during read,unit 110,file C:tkshmd\www01.dat
というエラーが出たのですがどうすれば解決できますか?
教授から卒業研究用に渡されたもので、自分で書いたものではありません
11年前に卒業した先輩が書いたものらしいのです
fortranに関する知識は一切ございません。すみません
735デフォルトの名無しさん
2015/01/30(金) 19:35:01.91ID:QUUDxgkN736デフォルトの名無しさん
2015/01/30(金) 20:02:06.39ID:JnK0Au4d >>734
データの読み込み中にEOFが来た
つまり、読み込む変数に対してファイルのデータ数が足りない
先ずは実行できるデータファイルを貰って
自分の環境でプログラムが動くことを確認したら?
自分の計算はその実行できるファイルをいじってする
何より教授に聞けよ
データの読み込み中にEOFが来た
つまり、読み込む変数に対してファイルのデータ数が足りない
先ずは実行できるデータファイルを貰って
自分の環境でプログラムが動くことを確認したら?
自分の計算はその実行できるファイルをいじってする
何より教授に聞けよ
737デフォルトの名無しさん
2015/01/30(金) 20:49:39.27ID:ExkW5Q4r >>734
736で解決すると思ったけど
フォルダアドレス名、もしかして名前の母音抜き?
違ったらごめんね
もしそうだったとしたら、今後フォルダ名の投稿の時とか気をつけてね
私、昔似たようなことやっちゃったので。
関係ないが気になったのでつい
736で解決すると思ったけど
フォルダアドレス名、もしかして名前の母音抜き?
違ったらごめんね
もしそうだったとしたら、今後フォルダ名の投稿の時とか気をつけてね
私、昔似たようなことやっちゃったので。
関係ないが気になったのでつい
738デフォルトの名無しさん
2015/02/04(水) 05:53:12.64ID:Y9ZHS9LP ちょいとみなさんのお知恵拝借させてもらえたら幸い。
二分法かなんか使ってイテレーションさせようかと思ってるんだけど、ある解に収束するまでの途中のデータが出力ファイルに書き込まれて困ってる。
収束した時のみの結果を出力させたいんだけどどうしたもんだろ?
すごく簡略化した例だけど
do i = 1, imax
....
! F(x(i),y(i),z(i)) は非線形で数値計算でその都度計算するしかない
F(x(i),y(i),z(i))= .........
write(15,*) x(i),y(i),z(i)
! イテレーションする部分
If(s(x(i),y(i),z(i)) < 1.0d-5) then
Exit
Else
....
Endif
Enddo
二分法かなんか使ってイテレーションさせようかと思ってるんだけど、ある解に収束するまでの途中のデータが出力ファイルに書き込まれて困ってる。
収束した時のみの結果を出力させたいんだけどどうしたもんだろ?
すごく簡略化した例だけど
do i = 1, imax
....
! F(x(i),y(i),z(i)) は非線形で数値計算でその都度計算するしかない
F(x(i),y(i),z(i))= .........
write(15,*) x(i),y(i),z(i)
! イテレーションする部分
If(s(x(i),y(i),z(i)) < 1.0d-5) then
Exit
Else
....
Endif
Enddo
739738
2015/02/04(水) 05:54:22.46ID:Y9ZHS9LP 連投すんません
S(x(i),y(i),z(i))は新しい関数ですm(__)m
よろしくお願い申し上げます。
S(x(i),y(i),z(i))は新しい関数ですm(__)m
よろしくお願い申し上げます。
740デフォルトの名無しさん
2015/02/04(水) 21:13:09.14ID:uLg2ampX >>738
収束ループを出てから、書いたら?
収束ループを出てから、書いたら?
741デフォルトの名無しさん
2015/02/04(水) 21:21:39.45ID:1jln5owW 求めた解はどこかで使うんでしょ?なら,使う直前にwrite文を書けばいいのではないか?
というか,
>二分法かなんか
『なんか』ってなんだ?そんなきき方でどう答えろというんだろうか?
その例の書き方だと,そもそも二分法の使い方を理解しているのかと,そっちの方が心配になる.
というか,
>二分法かなんか
『なんか』ってなんだ?そんなきき方でどう答えろというんだろうか?
その例の書き方だと,そもそも二分法の使い方を理解しているのかと,そっちの方が心配になる.
743デフォルトの名無しさん
2015/02/11(水) 01:54:42.49ID:rsWy3Hp4 debugをしたら
user breakpoint called from code at 0x7c94120e
と出てきたのですが、どういった意味なんでしょうか
user breakpoint called from code at 0x7c94120e
と出てきたのですが、どういった意味なんでしょうか
744デフォルトの名無しさん
2015/02/11(水) 02:18:15.77ID:947xRA4B 環境書こうよ……
まず、>>1の注意事項を読んでくれ
まず、>>1の注意事項を読んでくれ
745デフォルトの名無しさん
2015/02/11(水) 02:35:40.04ID:+/9jIDfQ >>743
回線切って逝ってよし
回線切って逝ってよし
746デフォルトの名無しさん
2015/02/11(水) 10:40:19.88ID:I3RcppAe747デフォルトの名無しさん
2015/02/11(水) 22:51:10.13ID:pX2dRfIb コンパイラはどれを使っていますか?
748デフォルトの名無しさん
2015/02/11(水) 23:16:27.84ID:LIuSSWm5 g95
749デフォルトの名無しさん
2015/02/15(日) 01:10:05.40ID:g8pHAe2n Rの関数(cor(x,y)など)をFortranプログラム上で使えるようにできないでしょうか
Rに入っている関数のsoファイルを利用してなどできたりしないでしょうか
Rに入っている関数のsoファイルを利用してなどできたりしないでしょうか
750デフォルトの名無しさん
2015/02/15(日) 13:38:58.18ID:TAercYgC >>749 あなたは Fortran ではなく R を使うべきなのではないのでしょうか
751デフォルトの名無しさん
2015/02/15(日) 14:45:03.59ID:83OS2d7V Rがコマンドから使えるなら普通にSYSTEMすればいいんじゃないの
752デフォルトの名無しさん
2015/02/15(日) 22:02:11.88ID:g8pHAe2n753デフォルトの名無しさん
2015/02/15(日) 22:03:52.96ID:/BGdl65O そもそもFORTRANにはRなんか手も足もでないような統計ライブラリが存在するはずだが
754デフォルトの名無しさん
2015/02/16(月) 00:11:19.19ID:cFBQlJ5l755デフォルトの名無しさん
2015/02/16(月) 04:49:19.07ID:OLD7Gvb9 相関係数求めるだけだろ?
http://tama.green.gifu-u.ac.jp/~tama/soft/sample_prog/correlation/
http://tama.green.gifu-u.ac.jp/~tama/soft/sample_prog/correlation/
756デフォルトの名無しさん
2015/02/19(木) 01:32:20.14ID:Q9g/vdpG 今更ながらなんだがフォートランとオクターブの組み合わせ最高だよな。
今まではfortran とgnuplot だったけど
今まではfortran とgnuplot だったけど
757デフォルトの名無しさん
2015/02/19(木) 21:39:16.47ID:8T3EPm25 お絵かきできんの?
758デフォルトの名無しさん
2015/02/21(土) 13:41:52.59ID:cqnG5WW8 オクターブってMATLABのパチモンだっけ?
最近もメンテされてるの?
最近もメンテされてるの?
759デフォルトの名無しさん
2015/02/21(土) 20:21:39.11ID:vWiUl97q760デフォルトの名無しさん
2015/02/22(日) 06:07:07.89ID:Dll6CUOh お絵かきとは2chのお絵かき機能のこと。
この板はできないのか?
この板はできないのか?
761デフォルトの名無しさん
2015/02/24(火) 12:10:45.71ID:dL6o6kyB 3/3から2chのapi始動するけど移住しなくても大丈夫かね
とりあえずdat廃止されるまではここはNavi2chで巡回するけど
とりあえずdat廃止されるまではここはNavi2chで巡回するけど
762デフォルトの名無しさん
2015/02/25(水) 18:07:19.77ID:q//8/n6w >>761
移住先の候補があるなら教えて欲しい。
移住先の候補があるなら教えて欲しい。
763デフォルトの名無しさん
2015/02/27(金) 19:13:57.57ID:8CupuJ11 とりあえずおーぷん2chにたてるだけたてといた
http://toro.open☆2ch.net/test/read.cgi/tech/1425031440/
(☆はNGワード対策)
何事もないことが一番だけどそんときは避難所代わりに使ってください 現に今人多杉状態だけど
ここ質問スレだけど他にfortranスレないしfortran全般に関する喋り場ならおーぷんでいいよね?転載嫌いとかアフィリエイト嫌いとかのひとがいたらすまんが
純粋な質問に関してはstackoverflow日本語版も始まったしそっちも賑わってほしいなあと思ってる(現在3件しかない)
本家stackoverflowの方はfortranに関してもかなりお世話になってるし
http://toro.open☆2ch.net/test/read.cgi/tech/1425031440/
(☆はNGワード対策)
何事もないことが一番だけどそんときは避難所代わりに使ってください 現に今人多杉状態だけど
ここ質問スレだけど他にfortranスレないしfortran全般に関する喋り場ならおーぷんでいいよね?転載嫌いとかアフィリエイト嫌いとかのひとがいたらすまんが
純粋な質問に関してはstackoverflow日本語版も始まったしそっちも賑わってほしいなあと思ってる(現在3件しかない)
本家stackoverflowの方はfortranに関してもかなりお世話になってるし
764デフォルトの名無しさん
2015/02/28(土) 14:09:46.29ID:fZ9CqkAf お若い方。
この世間に疎い爺に何が起きているのか3行くらいで教えてくれんかね?
カチュ〜シャが使えなくなってから専ブラともお別れじゃよアッハッハ
2chがたらこのものでなくなったらしい話は風のうわさに聞いたども、
移住とは何のことじゃね?
この世間に疎い爺に何が起きているのか3行くらいで教えてくれんかね?
カチュ〜シャが使えなくなってから専ブラともお別れじゃよアッハッハ
2chがたらこのものでなくなったらしい話は風のうわさに聞いたども、
移住とは何のことじゃね?
765デフォルトの名無しさん
2015/02/28(土) 14:12:07.22ID:ptkFuNoe >>763
おーぷん2chは知らなかった。何かあればそちらを使わせてもらいます。
stackoverflowの方はgoogleでの検索がヒットした時ぐらいしか行かなかったけれど、
日本語版はありがたいね。こちらも覗きに行きます。
おーぷん2chは知らなかった。何かあればそちらを使わせてもらいます。
stackoverflowの方はgoogleでの検索がヒットした時ぐらいしか行かなかったけれど、
日本語版はありがたいね。こちらも覗きに行きます。
766デフォルトの名無しさん
2015/02/28(土) 14:20:37.08ID:ptkFuNoe >>764
私もよく知らないが、現在の専ブラが使っているdatが廃止される。2chを専ブラで利用するためには
2chが提供するAPIが必須となるが、このAPIは2chから使用許諾を受ける必要がある。
よって今のようなオープンソースの専ブラの開発、提供は難しいようだ。
私もよく知らないが、現在の専ブラが使っているdatが廃止される。2chを専ブラで利用するためには
2chが提供するAPIが必須となるが、このAPIは2chから使用許諾を受ける必要がある。
よって今のようなオープンソースの専ブラの開発、提供は難しいようだ。
767デフォルトの名無しさん
2015/03/09(月) 22:22:14.04ID:XrkMx/p/768デフォルトの名無しさん
2015/03/09(月) 22:37:50.67ID:wBxXg+k6 おいおいTip集に分離されただけで記事は残ってるぞ
nagのトップページから見てみ
nagのトップページから見てみ
769デフォルトの名無しさん
2015/03/10(火) 23:05:49.08ID:Gi5LttGt Hey!Yo!Brother!
Fortran2003でOOPを勉強してみたいんだが、NAGしか入門する門は無いのかい?
ジーザスは狭き門より入れと言ったが、おじちゃんは滅びの道でもいいから
広き門から入って太い道を通りたいんだYo!
できればジーザスの言葉と同じアラム語かおじちゃんと同じ言葉の日本語で頼むよ!
敵性語はノンノン!
Fortran2003でOOPを勉強してみたいんだが、NAGしか入門する門は無いのかい?
ジーザスは狭き門より入れと言ったが、おじちゃんは滅びの道でもいいから
広き門から入って太い道を通りたいんだYo!
できればジーザスの言葉と同じアラム語かおじちゃんと同じ言葉の日本語で頼むよ!
敵性語はノンノン!
770デフォルトの名無しさん
2015/03/17(火) 02:57:32.45ID:qWCLUX9n771デフォルトの名無しさん
2015/03/21(土) 20:51:39.73ID:A7bsOdex プログラム中のx行目?y行目のソースコードを出力させるwrite文の書き方はないでしょうか
772デフォルトの名無しさん
2015/03/22(日) 10:00:02.71ID:upANbGQj >>771
ねーよ
ねーよ
773デフォルトの名無しさん
2015/03/22(日) 14:18:33.06ID:qEVJABmn >>771
プログラム単体では無理
単純に任意のファイルのx行目を表示するプログラムなら簡単
指定行まで読み飛ばして、指定行を十分長い文字列で読み込めば良い
それでソースファイルを読んで表示するならできるけど
ソースファイルは常に必要
プログラム単体では無理
単純に任意のファイルのx行目を表示するプログラムなら簡単
指定行まで読み飛ばして、指定行を十分長い文字列で読み込めば良い
それでソースファイルを読んで表示するならできるけど
ソースファイルは常に必要
774デフォルトの名無しさん
2015/03/22(日) 15:16:23.54ID:lBBw+fHF Quineが書きたいという話ではなくて?
775デフォルトの名無しさん
2015/03/22(日) 16:35:49.10ID:CWUz6yZb776デフォルトの名無しさん
2015/03/24(火) 21:45:10.36ID:Vm8bqf+W >>775
俺にもお礼言えよ、クソ野郎
俺にもお礼言えよ、クソ野郎
777デフォルトの名無しさん
2015/03/26(木) 23:15:58.87ID:Gl+r/2fs 3次元のスカラーデータを吐く、x,y,zのdoループをompにしようとしたんだけど、スタックオーバーフローだなんて怒られた
どーすんべ?
どーすんべ?
778デフォルトの名無しさん
2015/03/27(金) 02:28:15.56ID:agfznfe3 安直にはコンパイラ、リンカのオプションでスタック増やせ。
779デフォルトの名無しさん
2015/04/28(火) 17:28:05.66ID:iBflpoE2 MinGWのGCC4.9.2ののFORTRANで, -fcase-upperのようなオプションってありますかね?
昔のバージョンにはあったみたいなんですが, 現在のは削除されたようで.
昔のバージョンにはあったみたいなんですが, 現在のは削除されたようで.
780デフォルトの名無しさん
2015/05/10(日) 17:08:53.50ID:xJAFgSar Intel fortran無料版のライセンスが改定されて
オープンソースへの貢献を証明しなきゃならなくなってた
https://software.intel.com/en-us/qualify-for-free-software/opensourcecontributor
オープンソースへの貢献を証明しなきゃならなくなってた
https://software.intel.com/en-us/qualify-for-free-software/opensourcecontributor
781デフォルトの名無しさん
2015/05/11(月) 01:08:44.47ID:54EXtOYg Gfortran とIntel fortran のそれぞれの利点って何かね( ´ ▽ ` )ノ
782デフォルトの名無しさん
2015/05/11(月) 01:47:31.11ID:XHL5HbZn え、gfortranに利点なんかあるの?
ああ、うん、gccツールチェインの一部なのは便利だよね
ああ、うん、gccツールチェインの一部なのは便利だよね
783デフォルトの名無しさん
2015/05/11(月) 06:54:00.10ID:qOqdHGiK ハードウェアで二倍の性能出す金払うくらいだったら、Intelのコンパイラ買えよ。
ソフトには金出せないってどんだけ唯物論のアカなんだよw
ソフトには金出せないってどんだけ唯物論のアカなんだよw
784デフォルトの名無しさん
2015/05/11(月) 10:33:22.97ID:54EXtOYg >>782
なに、そんなレベル違いますのん?
なに、そんなレベル違いますのん?
785デフォルトの名無しさん
2015/05/13(水) 06:59:19.62ID:5ad/p9/H786デフォルトの名無しさん
2015/05/15(金) 02:52:46.16ID:3VlILQzP intelは自動並列化があるから中級者は使用を薦める
787デフォルトの名無しさん
2015/05/31(日) 00:46:49.58ID:z6xjuO2m このレス数からしてFortran使ってる人はほとんどいないのかな?
788デフォルトの名無しさん
2015/05/31(日) 01:15:28.56ID:dBkTICLM ここでの質問は学生がほとんどのように見える
一般人は使わないだろうから少ないのは確かだろうけど
調べたり相談できる人が多いんじゃない?
一般人は使わないだろうから少ないのは確かだろうけど
調べたり相談できる人が多いんじゃない?
789デフォルトの名無しさん
2015/05/31(日) 05:24:16.45ID:z6xjuO2m790デフォルトの名無しさん
2015/06/05(金) 00:40:30.28ID:rgF7y0m6 fortran の組み込み関数でminval ってのがありますよね.
ある配列a(要素は一つだけ)に関して
minval(a,dim=1,mask=a>0.0d0)すると値が1e-324みたく値がおかしくなるんですが原因として考えられるものは何でしょう?
ちなみに配列aの中身は
a(1)= 4.2e-2です。
なので期待する値は
minval(a,dim=1,mask=a>0.0d0)=4.2e-2になるはずなんですが。。。
ある配列a(要素は一つだけ)に関して
minval(a,dim=1,mask=a>0.0d0)すると値が1e-324みたく値がおかしくなるんですが原因として考えられるものは何でしょう?
ちなみに配列aの中身は
a(1)= 4.2e-2です。
なので期待する値は
minval(a,dim=1,mask=a>0.0d0)=4.2e-2になるはずなんですが。。。
791デフォルトの名無しさん
2015/06/05(金) 01:52:18.65ID:rTO63fPn >>790
なんとなく初期化してない変数が引っかかっている気がする
minvalの動作不良を疑うならコンパイラとか環境を書こう
違うならソースをできるだけ書こう
長くてソース貼れないならこんな感じに晒すと検証が楽
https://ideone.com/JstGnQ
なんとなく初期化してない変数が引っかかっている気がする
minvalの動作不良を疑うならコンパイラとか環境を書こう
違うならソースをできるだけ書こう
長くてソース貼れないならこんな感じに晒すと検証が楽
https://ideone.com/JstGnQ
792デフォルトの名無しさん
2015/06/05(金) 23:13:40.04ID:zCKBsI7m >>790
単精度を入れているのに倍精度で値が返ってきているのが気になる。
なんか倍精度と単精度をまぜこぜにしているか、コンパイラが間違っていてまぜこぜにしている。
g95はデフォの変数長を変えたせいで混乱に陥った。その辺かな?
FortranはRealとIntegerの長さが等しくないといけないのにそれを崩した。
まぁ64Bit時代には8バイト整数にしたいのはわかるけど、
そうなると倍精度がRealになって、倍精度が4倍精度になってハードウェア対応せずで憤死する。
https://ideone.com/m11vQN
こんな感じかな?
program test2ch
implicit none
real(8) :: a(1)
real :: b(2)
equivalence(a, b)
b(1) = 4.2e-2
b(2) = 0.0e0
print *, minval(a, dim = 1, mask = a > 0.0)
end program test2ch
実行結果
5.070575254129006E-315
単精度を入れているのに倍精度で値が返ってきているのが気になる。
なんか倍精度と単精度をまぜこぜにしているか、コンパイラが間違っていてまぜこぜにしている。
g95はデフォの変数長を変えたせいで混乱に陥った。その辺かな?
FortranはRealとIntegerの長さが等しくないといけないのにそれを崩した。
まぁ64Bit時代には8バイト整数にしたいのはわかるけど、
そうなると倍精度がRealになって、倍精度が4倍精度になってハードウェア対応せずで憤死する。
https://ideone.com/m11vQN
こんな感じかな?
program test2ch
implicit none
real(8) :: a(1)
real :: b(2)
equivalence(a, b)
b(1) = 4.2e-2
b(2) = 0.0e0
print *, minval(a, dim = 1, mask = a > 0.0)
end program test2ch
実行結果
5.070575254129006E-315
793デフォルトの名無しさん
2015/06/06(土) 00:34:55.86ID:TK6bZDgw >>792
ideoneってfortranいけるのかw
ideoneってfortranいけるのかw
794デフォルトの名無しさん
2015/06/06(土) 01:24:14.49ID:pgwiShP2 変数に値が入ってるかどうかの判断ってどうしてる?ポインタとか使わずになんかNull かどうか?っての判断できんのかね?
ちなみにgfortran 4.2 でDebian 8.0 64bit版での話なんだが。
ちなみにgfortran 4.2 でDebian 8.0 64bit版での話なんだが。
795デフォルトの名無しさん
2015/06/06(土) 02:41:06.93ID:cFX9ZRwg796デフォルトの名無しさん
2015/06/06(土) 05:09:32.95ID:pgwiShP2797デフォルトの名無しさん
2015/06/06(土) 12:21:31.78ID:cFX9ZRwg798デフォルトの名無しさん
2015/06/06(土) 19:54:52.83ID:pgwiShP2799デフォルトの名無しさん
2015/06/09(火) 15:20:38.21ID:t89alswU まったくの初心者なのですが質問失礼します
f77形式で書かれたプログラムをf90形式に変換した所plplotという描画用プログラムがエラーだらけで動きません
具体的には、「関数plwid に対する定義されてない参照です」のようなメッセージがいっぱいでてきます
どうしたらよいのか教えていただけませんか?お願いします
f77形式で書かれたプログラムをf90形式に変換した所plplotという描画用プログラムがエラーだらけで動きません
具体的には、「関数plwid に対する定義されてない参照です」のようなメッセージがいっぱいでてきます
どうしたらよいのか教えていただけませんか?お願いします
800デフォルトの名無しさん
2015/06/09(火) 18:47:39.82ID:t89alswU >>791すみません補足します
OSはLinux beanでコンパイラはgfortranです
OSはLinux beanでコンパイラはgfortranです
801デフォルトの名無しさん
2015/06/09(火) 20:02:28.27ID:PG87IvKa802デフォルトの名無しさん
2015/06/14(日) 00:09:43.12ID:1ASDFy3f Fortran未だに使ってる人いますか?
やっぱり昔に構築しちゃった遺産をそのまま使う方ばかりですか?
やっぱり昔に構築しちゃった遺産をそのまま使う方ばかりですか?
803デフォルトの名無しさん
2015/06/14(日) 00:15:12.75ID:oyhhJPji 天文学の計算で有効数字が16桁以上で計算したいものが
あり、C/C++では桁数の関係で微妙なので、Fortran
の4倍長精度を使って計算しています。
64ビットあるいは80ビットでなくて128ビット
で計算できるのが有りがたいです。
あり、C/C++では桁数の関係で微妙なので、Fortran
の4倍長精度を使って計算しています。
64ビットあるいは80ビットでなくて128ビット
で計算できるのが有りがたいです。
804デフォルトの名無しさん
2015/06/14(日) 02:42:35.24ID:1ASDFy3f805デフォルトの名無しさん
2015/06/14(日) 16:29:35.57ID:oyhhJPji >>803
補足します。
NASAが太陽・月・冥王星を含む惑星の位置を計算
するための基礎データを発表しているのですが、
そのデータがたとえば
0.149597870691000015+09
という有効数字18桁で当れられて
います。
この一定間隔で与えられたデータを数値積分して
位置を計算する必要があります。
C++などのlong doubleでは、有効数字が16桁程度
なので、fortranの4倍長kind(16)を指定すると、
三角関数も4倍精度で計算でき、安心できるわけです。
補足します。
NASAが太陽・月・冥王星を含む惑星の位置を計算
するための基礎データを発表しているのですが、
そのデータがたとえば
0.149597870691000015+09
という有効数字18桁で当れられて
います。
この一定間隔で与えられたデータを数値積分して
位置を計算する必要があります。
C++などのlong doubleでは、有効数字が16桁程度
なので、fortranの4倍長kind(16)を指定すると、
三角関数も4倍精度で計算でき、安心できるわけです。
806デフォルトの名無しさん
2015/06/17(水) 10:18:52.06ID:ti+IkGPz ソフトウェアに興味なくて、ほとんどプログラムやったことない学生が、
専門分野の研究に必要になってから勉強を始めて、曲りなりに必要なプログラム
書けるようになるのが早いのはやっぱFortranだな。
余計なことを覚えなくていいし、行列の添え字とかが(1から始まる、カラムメジャー等)、
教科書・文献などの数学の常識に近い点が良いらしい。
式とプログラムで表記が同じである必要は全くないが、
ある程度は形式を保っていないと焦点がボケてダメなようだ。
ソフトウェアの板でいうと叱られるかもしれないが、
時間かけるならプログラム言語の勉強するより専門分野の勉強する方がいい。
専門分野の研究に必要になってから勉強を始めて、曲りなりに必要なプログラム
書けるようになるのが早いのはやっぱFortranだな。
余計なことを覚えなくていいし、行列の添え字とかが(1から始まる、カラムメジャー等)、
教科書・文献などの数学の常識に近い点が良いらしい。
式とプログラムで表記が同じである必要は全くないが、
ある程度は形式を保っていないと焦点がボケてダメなようだ。
ソフトウェアの板でいうと叱られるかもしれないが、
時間かけるならプログラム言語の勉強するより専門分野の勉強する方がいい。
807デフォルトの名無しさん
2015/06/19(金) 21:01:11.17ID:DScX6l8h maxvalを使って上から2番めに大きいものなど抽出したりできませんよね?
808デフォルトの名無しさん
2015/06/19(金) 22:45:09.43ID:JdldsSpH 挑発されてるようで不快だが
配列に同じ値がないか、重複を排除した2番目に大きい値
(例えば配列a=(/1, 2, 5, 3, 5/)なら3)を返してほしいなら
maxval(a, mask = a < maxval(a))でいい
配列を降順に並べた時の2番目の値(上の例なら5)を返してほしいなら
maxlocで最初の最大値の位置を特定して、それを除外した配列のmaxvalをとる
配列に同じ値がないか、重複を排除した2番目に大きい値
(例えば配列a=(/1, 2, 5, 3, 5/)なら3)を返してほしいなら
maxval(a, mask = a < maxval(a))でいい
配列を降順に並べた時の2番目の値(上の例なら5)を返してほしいなら
maxlocで最初の最大値の位置を特定して、それを除外した配列のmaxvalをとる
809デフォルトの名無しさん
2015/06/19(金) 23:35:54.73ID:DScX6l8h >>808
ありがとうございます。書き方悪かったですすいません・・
今のプログラムがスマートに書るようになりそうで大変助かりました
もしかすると、3番目とかなら
b=maxval(a, mask = a < maxval(a)) !b=2番目に大きい
c=maxval(a,mask=a<b) !c=3番目に大きい
で良いでしょうか、試してみます
ありがとうございます。書き方悪かったですすいません・・
今のプログラムがスマートに書るようになりそうで大変助かりました
もしかすると、3番目とかなら
b=maxval(a, mask = a < maxval(a)) !b=2番目に大きい
c=maxval(a,mask=a<b) !c=3番目に大きい
で良いでしょうか、試してみます
810デフォルトの名無しさん
2015/06/22(月) 00:36:18.06ID:GDms9OMt イケメンすぎるwwwwwwwwww
811デフォルトの名無しさん
2015/07/04(土) 15:09:30.71ID:s4aH+BtB a(i,j)
b(j,k)という変数があって、
maxval(a(i,j+5:j+10)) - b(j,k)
という計算をしたいのですが、結果がおかしくなります。
もしかするとmaxvalを使って四則演算するときは配列が同じものを使用しないといけないのでしょうか
b(j,k)という変数があって、
maxval(a(i,j+5:j+10)) - b(j,k)
という計算をしたいのですが、結果がおかしくなります。
もしかするとmaxvalを使って四則演算するときは配列が同じものを使用しないといけないのでしょうか
812デフォルトの名無しさん
2015/07/04(土) 15:23:40.44ID:s4aH+BtB すいませんプログラムミスのだけでした
813デフォルトの名無しさん
2015/07/10(金) 19:11:26.54ID:/GzszqMd 次のようなプログラムを試しに走らせたところ、
ファイルの作成には成功するのですがファイルの読み込みでセグメントエラーが出ます。
原因が分かりません、教えてもらえないでしょうか。windows7, 64bit, gfortran を使用しています。
program fileIO
implicit none
integer i, j, k
open(17,file='mydata.dat')
write (17,*) 100, 200, 300
write (17,*) 400
write (17,*) 500, 600
close(17)
! 同じファイルを今度は読み込み用にオープンする
open(18,file='mydata.dat', status='old')
read (18,*) i, j, k
print *, i, j, k
read (18,*) i
print *, i
read (18,*) i, j
print *, i, j
close(18)
end program fileIO
ファイルの作成には成功するのですがファイルの読み込みでセグメントエラーが出ます。
原因が分かりません、教えてもらえないでしょうか。windows7, 64bit, gfortran を使用しています。
program fileIO
implicit none
integer i, j, k
open(17,file='mydata.dat')
write (17,*) 100, 200, 300
write (17,*) 400
write (17,*) 500, 600
close(17)
! 同じファイルを今度は読み込み用にオープンする
open(18,file='mydata.dat', status='old')
read (18,*) i, j, k
print *, i, j, k
read (18,*) i
print *, i
read (18,*) i, j
print *, i, j
close(18)
end program fileIO
814デフォルトの名無しさん
2015/07/10(金) 21:33:48.54ID:/Va7ypH/815デフォルトの名無しさん
2015/07/10(金) 21:48:52.27ID:/GzszqMd 次のエラーが出ました。
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 ffffffffffffffff
#1 ffffffffffffffff
#2 ffffffffffffffff
#3 ffffffffffffffff
#4 ffffffffffffffff
#5 ffffffffffffffff
#6 ffffffffffffffff
#7 ffffffffffffffff
#8 ffffffffffffffff
#9 ffffffffffffffff
#10 ffffffffffffffff
#11 ffffffffffffffff
#12 ffffffffffffffff
#13 ffffffffffffffff
#14 ffffffffffffffff
#15 ffffffffffffffff
#16 ffffffffffffffff
#17 ffffffffffffffff
#18 ffffffffffffffff
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 ffffffffffffffff
#1 ffffffffffffffff
#2 ffffffffffffffff
#3 ffffffffffffffff
#4 ffffffffffffffff
#5 ffffffffffffffff
#6 ffffffffffffffff
#7 ffffffffffffffff
#8 ffffffffffffffff
#9 ffffffffffffffff
#10 ffffffffffffffff
#11 ffffffffffffffff
#12 ffffffffffffffff
#13 ffffffffffffffff
#14 ffffffffffffffff
#15 ffffffffffffffff
#16 ffffffffffffffff
#17 ffffffffffffffff
#18 ffffffffffffffff
816デフォルトの名無しさん
2015/07/11(土) 01:01:00.88ID:WfA4pvIG Window7,64bitのgfortranを使ってコンパイル実行して
みましたが,
100 200 300
400
500 600
と出力されて無事終了しました。
ちなみに,gfortran64のVersionは4.9.2です。
みましたが,
100 200 300
400
500 600
と出力されて無事終了しました。
ちなみに,gfortran64のVersionは4.9.2です。
817デフォルトの名無しさん
2015/07/11(土) 13:28:32.70ID:RZSlcw3F ソフトのバージョンは
gfortra,64bit, ver 5.1.0 のおそらく最新版です。
とりあえず別のコンパイラを試してみます。
gfortra,64bit, ver 5.1.0 のおそらく最新版です。
とりあえず別のコンパイラを試してみます。
818デフォルトの名無しさん
2015/07/11(土) 15:08:28.52ID:RZSlcw3F FTN95 でうまくいきました
やっぱり gfortran ってクソだわ
やっぱり gfortran ってクソだわ
819デフォルトの名無しさん
2015/07/12(日) 01:05:05.43ID:yuQPCUFW ファイルggshoki.f90に、800成分の配列を返すサブルーチンggshokiを書き、他のファイルと一緒にコンパイルしたところ、
ggshoki.f90:1:20:
subroutine ggshoki(Z(800))
1
Error: Unexpected junk in formal argument list at (1)
というエラーが出てしまいました。
どう直せばいいのでしょうか。アドバイスお願いします。
ggshoki.f90:1:20:
subroutine ggshoki(Z(800))
1
Error: Unexpected junk in formal argument list at (1)
というエラーが出てしまいました。
どう直せばいいのでしょうか。アドバイスお願いします。
820デフォルトの名無しさん
2015/07/12(日) 01:10:26.47ID:yuQPCUFW 上げてしまいました、すみません。
OS:Windows8(64bit)
コンパイラ:gfortran
バージョン:fortran90
です。
OS:Windows8(64bit)
コンパイラ:gfortran
バージョン:fortran90
です。
821デフォルトの名無しさん
2015/07/12(日) 01:14:54.68ID:yuQPCUFW 連レスすみません。
バージョンは5.1.0です。
バージョンは5.1.0です。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★5 [BFU★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 【高市悲報】大暴落 [115996789]
- 【速報】東京から人が消える [329329848]
- 🏡
- 銀行立てこもり犯「そこの男、この女とセックスしろ。マスコミはそれを生中継しろ」
- 【悲報】国会議員の給料アップ法改正、自民と維新で喧嘩し始めるWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 友達がお前らの事をさ…
