- 1 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 09:55:26 ]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 FORTRAN使いが優しくコメントを返しますが、 お礼はFORTRANの布教と初心者の救済と次期Fortran2008規格でのCOMEFROM文採用をお願いします。 ●注意事項 ・質問する前にGoogle等の検索サイトで検索しましょう。 ・回答者にわかりやすい様に、質問内容はできる限り詳しく書きましょう。 ・エラーの場合は起きた状況、環境(OS・コンパイラ・バージョン)、エラーメッセージも詳しく書きましょう。 ●前スレ くだすれFORTRAN(超初心者用) pc8.2ch.net/test/read.cgi/tech/1138063703/ くだすれFORTRAN(超初心者用)その2 pc11.2ch.net/test/read.cgi/tech/1164121236/ ●関連スレ FORTRAN W pc8.2ch.net/test/read.cgi/tech/1163319215/
- 467 名前:デフォルトの名無しさん [2008/07/30(水) 20:58:51 ]
- >>454-458
アドバイスありがとうございました。 説明不足でしたので少し補足をしておきます。 モンテカルロシミュレーションを用いたタンパク質と低分子の結合実験を行えるプログラム(使用言語:FORTRAN77)を作ろうと考えています。 ここでのモンテカルロシミュレーションはタンパク質上の各部分に乱数とよばれる数をふりわけて、確率的な試行(低分子をタンパク質に結合させる操作)を何回も繰り返すことを意味します。 これによってタンパク質上での低分子の結合しやすい部分を見つけ出そうと考えています。 しかしプログラミングを本格的に始めて間もないということもあり、プログラムを作るための糸口がいま一つ見つかりません。 (例えばタンパク質上の各部分での乱数のふりかた、パソコンによる操作でタンパク質と低分子を結合できるようなプログラムの書き方) 話がまた戻りますが、プログラム完成にいたるまでの手順、方法等についてのアドバイスを頂けませんか?
- 468 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 23:34:14 ]
- > 例えばタンパク質上の各部分での乱数のふりかた
乱数はRANDOM_NUMBER関数で0<=x<1の値を発生させることができる。 発生させたい数字が5〜10なのなら、 発生させたい数字 = 5.0 + x * 5.0 になる。 > パソコンによる操作でタンパク質と低分子を結合できるようなプログラムの書き方 パソコンではどうあがいても分子結合はできません。 揚げ足を取りましたが、シミュレーション方法は先生に聞くべき。 ここではそのシミュレーション方法をプログラミングに反映させる方法を聞いてください。
- 469 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 08:07:51 ]
- fortran77 だと RANDOM_NUMBER 関数は使えないらしいぞ
www.geocities.jp/eyeofeconomyandhealth/homepage/kumikomi3.html しかし >>467 は fortran90 か 95 を使わない理由はあるの? 77より便利だよ。
- 470 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 09:10:48 ]
- >>467
この質問内容を見る限り、自分で一から作るのは無理っぽいので、 下敷きになるプログラムをどこかから手に入れることだ。 論文読めばプログラム名があって、ググレば出るだろ。 今はそれどころではないと思うが、真面目な計算に入る前に、乱数も自前のを用意したほうがいい。 というか本来は擬似乱数の評価からはじめないと、叩きまくられる。 乱数マニアがいてうるさいw スパコンのたぐいならハードウェア実装の乱数とかもあるが。
- 471 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 18:52:31 ]
- モンテカルロで使う乱数はメルセンヌツイスターでいいだろ。
fortran のコードも公開されてるから、ググってダウンロードして、出力される数列を 自分でチェック。
- 472 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 19:04:40 ]
- くだらない質問ですが
closeしたファイルに書き加えるってどうやるのでしょうか?
- 473 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 20:56:17 ]
- >>472
もう一度openする。そのときにposition='append'で書き込み位置を指定する。 そうするとwriteで書き込みしたときにファイルの最後に書き足される。
- 474 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 21:06:56 ]
- FORTRAN90と95のgnu版が欲しいな
- 475 名前:472 mailto:sage [2008/08/14(木) 22:12:29 ]
- >>473
ありがと〜
- 476 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:18:44 ]
- フリーのFORTRAN95なら
www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.asp
- 477 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:33:19 ]
- >>474
gfortran
- 478 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:40:42 ]
- gfortranのwin32版はないみたいだ
- 479 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 22:43:31 ]
- >>478
あるよ gcc.gnu.org/wiki/GFortranBinaries
- 480 名前:デフォルトの名無しさん [2008/08/22(金) 14:34:23 ]
- 以下のコードは、配列を受け取る手続きcallbackを別の手続きforward
に渡すコードです。forwardでは、callbackに対応する仮手続きの引用 仕様で、この配列が1開始添え字(つまりデフォルト)としているが、 callbackでは、0開始添え字になっています。 このような「添え字のずらし」は合法のはずですが、これをコンパイル すると、g95ではOK、intel fortranではコンパイルエラーとなります。 質問は、これがintel fortranの方言によるものなのか、規格上の根拠 があるのか、どちらなのかということです。
- 481 名前:デフォルトの名無しさん [2008/08/22(金) 14:36:14 ]
- module dummyproc
contains subroutine callback(x) real(8), dimension(0:) :: x end subroutine subroutine forward(cb,x) interface subroutine cb(x) real(8), dimension(:) :: x end subroutine end interface real(8), dimension(:) :: x call cb(x) end subroutine end module use dummyproc real(8), dimension(5) :: x x = (/1d0, 2d0, 3d0, 4d0, 5d0/) call forward(callback, x) end
- 482 名前:デフォルトの名無しさん [2008/08/23(土) 00:28:50 ]
- >>480-481
>>481でエラーが出るのはインターフェースが矛盾しているからだろう。 real(8), dimension(0:) :: x こうすればコンパイラを通る。 ただ、0から始まる配列の引き渡しで様々な問題が起こるのは事実。 規格書をよく読んでいないから断言できないが、元々多分曖昧な点があるんだろうと思う。 処理系によって動作が違う。 また、部分配列を送る時に微妙な問題がある。 たとえば、 REAL :: x(0:100) の全体を、サブルーチンに送る時に、 1.CALL sub(x) 2.CALL sub(x(:)) と送ると、ソース上の意味では同じことだが、大概の処理系では2.の時のように 部分配列の指定子がつくと、いったん暗黙にアロケートされたテンポラリ配列に コピーして送るために、サブルーチン側で LBOUND(x) を書かせてみると 1.の場合は配列が0から始まると認識するのに、2.の場合は配列が1から始まると みなしていたりする。 さらにややこしいことに、最近 Intel Fortran は、引数として x(:) を渡すときは、 テンポラリを作らずに x の番地をそのまま渡すようにしたらしい事で、時と場合と処理系に 依存して何が起こるか分からん気分だったりする。 まぁFortranの自然数は1から始まるのでしょうがない。 0から配列を始める奴が悪いwwwというのが、俺が昔同じような問題で悩んだときの結論だw
- 483 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 23:12:11 ]
- すみません、教えて下さい。
fortran77で、プログラム途中に print *, A みたいに Aを出力させるとさせないのとでは 最後の結果(計算にAの値を使う)が異なってしまいます。 (printを入れると正しい値、入れないと NaN) 出来ればprint無しで動かしたいのですが、これって何が悪いのでしょうか? WinXp-Cygwin、g77でコンパイルしています。
- 484 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 04:53:09 ]
- >>483
書いたプログラム晒せや。
- 485 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 21:26:44 ]
- デバッグ文入れたときにのみ結果が違うってのは、
大抵の場合、配列破壊が起きてる。 サブルーチンの引数渡しをチェック、宣言文チェック等すべし。 ちなみにprint文周辺だけ見てもわからない場合が多いよ。 後は、晒すしかないね。
- 486 名前:483 mailto:sage [2008/08/26(火) 22:10:28 ]
- >>485
ありがとうございます。 ここで晒すには長すぎるので、なんとか地力で頑張ってみます
- 487 名前:デフォルトの名無しさん [2008/08/27(水) 01:06:04 ]
- >>486
PRINT文を入れて結果が変わるのは、最適化による場合もある。 最適化レベルを0にする、もしくはデバッグモードで実行してみるという手もある。 また>>485で指摘された可能性を追求する場合には、サブスクリプト・チェックの オプションをつけてコンパイル・実行することにより容易に確認できる。
- 488 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 19:22:23 ]
- >>486
77なら暗黙の型宣言使ってるだろうから、その A がプログラムの実行順で、 どこに初めて現れるのかも確認すれ。初期化に失敗してるかもしれん。 どうしてもバクがみつからなかったら、90/95で書き直すべし。 固定形式と暗黙の型宣言の組み合わせは、バクの温床。
- 489 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:04:19 ]
- 新しく独学でFORTRAN勉強したいのですが、
77と90/95ではどちらがいいのでしょうか? 完全にプログラミング初心者です。
- 490 名前:486 mailto:sage [2008/08/27(水) 22:24:09 ]
- >>487-488
追加アドバイスどうも感謝です 参考になります!
- 491 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 01:01:36 ]
- 二次元配列とかで
行列の一部に数値を与えた場合 他の数値を与えられてないところの部分はどのように処理されるのでしょうか?
- 492 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 01:12:29 ]
- >>491
基本的に変数や配列の中身はゴミが入っていると思ったほうが良い。 0が入っていると思ってはいけない。 共同利用のコップと同じで洗ってから使えw
- 493 名前:491 mailto:sage [2008/08/28(木) 01:26:19 ]
- なるほど!ありがとうございます。
- 494 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:57:13 ]
- コンパイルは成功するのですが
データを入力すると RUNTIME ERROR Error 29.Call to missing routine AAA といってエラーが出ます、これはどういう意味でしょうか??
- 495 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:22:31 ]
- >>494
副プログラムAAAが存在しないというエラーだが、普通はリンク時に存在しないと怒られる。 externalとかで引数にでもしてるのかな? もう少しコンパイラ等を詳しく。
- 496 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:20:51 ]
- >>489
しがらみのない自由の身なら、断然90/95。並列化など、将来性も多少はあるかもしれない。 一方77は、過去の遺産を引き継ぐはめになった人が、発狂しながら解読するもの。
- 497 名前:デフォルトの名無しさん [2008/09/01(月) 21:25:09 ]
- 今までfortran77を使っていたのですが、90や95を使いたくなり、g95をインストールしました。
それで実際に試してみたのですが、コンパイルが上手くいきません。 77を使っていた時はテキストエディタにfcpadを使っており、マウス操作でコンパイルしていましたが、 g95ではコマンドプロンプトでコンパイルするため、勝手がよく分からず困っています。 例えばhello.f90というファイルを作ってコンパイルするとき、 g95 hello.f90 -o a.exe とコマンドプロンプトで入力すると g95: hello.f90: No such file or directly となってしまいます。 こうなってしまうのは入力した内容がおかしいからでしょうか? ファイルの保存場所などにも関係があるのでしょうか? あまりに初歩的な内容で申し訳ないのですが、よければよろしくお願いします。
- 498 名前:デフォルトの名無しさん [2008/09/01(月) 22:40:26 ]
- >>497
>g95: hello.f90: No such file or directly hello.f90 が(g95から見て)見つからないのでコンパイルできません。 cd コマンドで hello.f90 が保存してあるディレクトリに移動してからコンパイルして下さい。 現在居るディレクトリ(カレントディレクトリ)は通常コマンドプロンプトのカーソルの左に C:\hage\> 等と表示されています。
- 499 名前:デフォルトの名無しさん [2008/09/02(火) 07:53:41 ]
- >>498
わかりやすい説明ありがとうございます。 申し訳ないですが、もう1つ質問してもいいですか? helloの拡張子がfだとコンパイルできるのですが、f90やf95に変えると g95: hello.f90: No such file or directly または g95: hello.f95: No such file or directly となってしまいます・・・。これはなぜでしょうか?
- 500 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:06:57 ]
- >>499
まずエクスプローラでファイル名及び拡張子が確実に「hello.f90」になっているかチェック。 エクスプローラは必ず「拡張子を表示する」設定にしておくこと。 メモ帳で編集している場合は「テキスト文書(*.txt)」で保存すると勝手に拡張子 .txt を付けられて 「hello.f90.txt」となっている場合がある。
- 501 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 11:22:12 ]
- うちの研究室の先輩からソースコードをもらったのだが・・・
COMMON文やGOTO文がそこらじゅうにあって解読するのが大変だ・・・。 個人的にはF90以降形式で書きたいけれど、ここに書き加えて大丈夫かな? >>499 windowsなら、g95の後にソースコードをドラッグ&ドロップか、 vistaならソースコードのアイコンを、shiftを押して右クリック、パスとしてコピーをして プロンプトにパスを貼り付けて実行してもダメ?
- 502 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 19:58:26 ]
- >>500
>>501 色々と試してみましたが、やはり上手くいきませんでした・・・。 もうちょっと試行錯誤してみます。 こんなくだらない質問に答えていただき、ありがとうございました!
- 503 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:22:52 ]
- Intel Fortran の次期バージョンベータテストが始まっている。
V.11が来年一月までの期限付きだが、無条件に配布されている。 Windows版はVisualStudio(Fortran 専用)つきで。 気になる人はチェキラ!w ここの右下に入り口あり。 ttp://www.intel.com/cd/software/products/asmo-na/eng/399359.htm めーる登録でライセンスキー送られてくる。 Fortran2003対応の模様。インストールにXP以降が必要。 仕事マシンWin2kの俺様涙目w
- 504 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:53:15 ]
- 配列について伺います。
以下のような配列を宣言することはできるのでしょうか? 1 2 3 a = 4 5 6 7 8 9 言葉にすると、「i成分ごとに異なる数のj成分が存在するような配列を宣言できるか?」 ということになります。 不要な成分に0を入れて(3,4)成分の配列をつくるのが素直なのかもしれませんが、メモリの関係でそのような配列の宣言ができませんでした。 #実際の問題設定は、三次元の多相流の計算です。 #計算領域がいくつかのゾーンに分かれており、 #それらの領域すべての物理量をひとつの配列で取り扱おうとしています。 #従って、座標3成分、相の種類1成分、物理量の種類1成分、ゾーン1成分 #の計6成分の配列を取り扱います。 #ゾーンの大きさがマチマチなので最大のものに合わせて配列を宣言すると #メモリが足りなくなってしまいます。
- 505 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:51:02 ]
- >>503
つかってみよっと
- 506 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 11:28:03 ]
- >>504
F90以降なら構造型を使う。 F77なら、確かEQUIVALENCEで部分配列に別名を付ければ、そのようなことが出来なくもなかったはず。 ただ、諦めて複数の配列変数に分割する方か、見通しがよくなるかもしれない。 F77では、まともにコーディングしたことない、つーか、したくないので、他に定石があるかもしれんが…
- 507 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 13:59:21 ]
- >>504
配列の持たせ方を変える方法はどうかな? 上記の例の場合、 実際にデータのあるa(9)に値を入れ、 参照配列b(3)にa中の各行の値の入る先頭番号を入れる。 b(1)=1,b(2)=4,b(3)=6 各行の先頭の値は例えば下記のように取り出す do i = 1, 3 print *, a(b(i)) enddo
- 508 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 15:07:44 ]
- 90なら ALLOCATALE で配列を宣言して、必要なだけそのときに
ALLOCATEすればいいかな。
- 509 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 17:03:26 ]
- 窓用gfortran試してるんだけど、a.exeじゃなくてコンパイル後のファイル名を指定してコンパイルする方法ってある?
- 510 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 17:39:30 ]
- いつもどおり-oでいいとおもった
ためしてない
- 511 名前:デフォルトの名無しさん [2008/09/06(土) 18:24:23 ]
- CompaqのFortranV6.6からIntelFortranV10.1に乗り換えました
付属のVisualStudio環境ではF90の作業用の前提となっているのか そのエディタは6カラム目の素敵な継続行カラムなどに配慮されていません そのあたりF77の固定カラムに便利なように設定は変更できないでしょうか?
- 512 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 19:25:04 ]
- >>511
ツール>オプション>フォントおよび色 で変えられたはず。 のであったが、>>503の新版入れたらなんかおかしくなったwww
- 513 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 21:29:47 ]
- 固定形式は廃止予定事項だから、新機能の実装を優先して、後回しにしたんじゃw
- 514 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 01:00:56 ]
- >>506-508
ありがとうございます。 構造体を使うことも検討したのですが、ゾーンを指す変数nzでdo文を回したいと考えていたので、今回は用いませんでした。 割付け配列についても、ゾーン間で補完を行う必要があり、同時にすべてのゾーンのデータを保持する必要があるため、今回の用途には適さないのではないかと考えています。 >>507さんのアドバイスを検討してみます。
- 515 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 21:38:02 ]
- >>509
gfortran -o xxx.exe 2ch.f90でおkですよ。 でも、同じくgfortranで自作ライブラリのリンクの仕方が分からない・・・ どうやってコマンドを入力すればいいんだろう・・・。
- 516 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 22:16:59 ]
- >>515
gfortran hage.f90 -lmytoupee または gfortran hage.f90 libmytoupee.a モジュールとライブラリのパスはそれぞれ -I, -L で適時指定すること。
- 517 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 03:10:45 ]
- というかGCCってコンパイラオプション統一してんの?
- 518 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:58:22 ]
- >>516
ありがとうございます。 でも、自分がものすごく初歩的な勘違いをしているかもしれませんが、 ネット上のライブラリはOKでしたが、自作ライブラリがうまく使えないんです。 ライブラリってサブルーチンやモジュールをいろいろなプログラムで使えるようにしたもの、 という認識でいいのでしょうか?
- 519 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 00:35:44 ]
- gfortran -c subroutine.f90
ar cr module.a *.o ranlib module.a gfortran main.f90 ./module.a ./a.out でダメか?作った静的ライブラリをパスの通っている場所にコピーして使ってもおk
- 520 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:00:58 ]
- プログラムをつい最近始めたばかりの超初心者です。
微妙にスレチですみませんが・・・ intel fortran compiler10.1をknoppix(5.3.1)の環境でインストールしようと思い、 ttp://www.obihiro.ac.jp/~suzukim/masuda/ifc101_install.html の手順にそって行っていました。 しかし、ライセンス文を読み進めたあとに Where do you want to install to? Specify directory starting with '/'. [/opt/intel/fc/10.1.015] : でそのままEnterを押し、インストールが開始され、 Installing... という文字が出るのですが、そのままPCがフリーズしてしまいます。 何度か再起動しやり直しましたが同じでした。 これはkoppixそのままの環境ではインストールできない ということでしょうか? 初歩の初歩だと思うのですが、 どなたかご教授お願いいたします。
- 521 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 00:14:12 ]
- knoppix を LiveCD で使っているとか?
- 522 名前:520 mailto:sage [2008/09/12(金) 01:17:25 ]
- CD-Rに焼きこんでそのまま起動させて使っています。
他で少し調べたのですが、 HDDにknoppixをインストールして使うべきなのでしょうか・・・。
- 523 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 11:26:51 ]
- 容量が足りんとかかなぁ
knoppixのハードディスクインストールって、普通のディストロのインストールと 比べて簡単かなぁ
- 524 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:30:43 ]
- >>519
ありがとうございます。うまくできました。 こうして作ると、modファイルも生成されるのですが、 このmodファイルもライブラリ配布の時に必須なのでしょうか? modファイルが無いとコンパイルに失敗するので・・・。
- 525 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 02:17:51 ]
- >>522
/opt が CD-R にあるから書き込めないんだと思う knoppix を HDD にインストールして使えば大丈夫でしょ >>524 モジュールを使ったライブラリ配布するならモジュールが記述されたソースファイルを配布すればいい それ以前に、ライブラリを配布するなら全てのソースファイルを配布してくれるのが一番ありがたい どうしてもソースの公開がいやならば、静的ライブラリだけでなく、動的ライブラリも付けたほうがいい
- 526 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:02:26 ]
- fortran77を使っているのですがファイルをopen分で読み込むプログラムを作成した際
attempt to read past end-of-failというエラーメッセージが表示されます。 この原因と対策について教えていただければありがたいです。
- 527 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 11:36:35 ]
- >>526
>attempt to read past end-of-fail end of file じゃないの? ファイルを読み込んでいるうちに、まだ読まねばならないはずなのに、おしまいまで 来てしまったというエラーだと思う。
- 528 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:56:24 ]
- Windows用gFortranに対応しているIDEって何かある?
あと>>503に登録したけどメール来ない(´・ω・`)
- 529 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 23:05:08 ]
- 524です。
>>525 ありがとうございます。確かに、ソースファイルを渡すのが手っ取り早いですね。 静的、動的ライブラリがいいんですね。覚えておきます。 何度も質問で申し訳ありません。Fortran90形式でplplotを使いたいと思うのですが、 CMAKEを使って処理をすればよいとのことでしたが、f90コンパイルをONにしてもエラーになって C++とF77形式のみでしかmakeができません・・・。 できたファイルを見てもほとんどがC++の形式で、VS2005で開いてコンパイルも失敗してしまいます。 どうしたらFortran90形式でライブラリを読み出して使えるようになるでしょうか。
- 530 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 19:37:35 ]
- >>528
eclipse + Photran で大丈夫だと思う。Windows版は使ったことないから保証できんが。 >>529 plplot は使ったことないからわからんな。すまんこ。 おいらはグラフィックは gnuplot に描かせている。system 関数で端末のコマンド打てるから それ使えば自動でグラフ表示できるよ。
- 531 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:01:39 ]
- >>528
Sign Up Now! のところではなく、右下のLINKを踏んで登録だぜ!
- 532 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 02:48:38 ]
- もしかすると基本的なことなのかもしれないのですが調べてもわからなかったので・・・
以下のようなファイルに収められた数値を順番(?)に読み込むことは可能でしょうか 200709150 左から4文字までが年、そこから2文字で月、さらに3文字でガソリンの価格 200710151 最近30年を対象に年ごとのガソリン価格の平均を求めるプログラムを作りたいのですが 200711153 とりあえずデータを年・月・ガソリン価格に分けて読ませたいのですが 200712151 なにかいいアイデアはございませんでしょうか? 200801149 (以下同様に続く)
- 533 名前:532 mailto:sage [2008/09/25(木) 02:50:20 ]
- 書き忘れましたがfortran77を使ってます
- 534 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 08:08:25 ]
- format指定すれば簡単に読めるけど、
「調べてもわからなかったので・・・」の内容を詳しくよろしく
- 535 名前:532 mailto:sage [2008/09/25(木) 09:04:20 ]
- 詳しくいうといくつかのfortran関連サイトや教科書を見たけどわからなかった ということです
- 536 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 09:19:49 ]
- >>535
だれが"調べる"の定義を詳しく言えといったんだ…
- 537 名前:532 mailto:sage [2008/09/25(木) 09:28:28 ]
- といいますと・・・
- 538 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 18:01:49 ]
- 質問者が主に3種類
1) 自分で調べる気がないので神が答えを書いてくれることを期待した丸投げ 2) 丸投げだと印象が悪いかと思い、調べてもいないくせに「調べてもわかりません」 3) ちゃんと調べたけどわからない勤勉な人 回答: a) 質3なら回答してあげたい b) 質2なら遠まわしに回答 c) 質1なら放置 532が教科書等で何を調べたのかどう調べたのかで 教えてあげるかどうか決めたいってことでしょ
- 539 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 18:21:17 ]
- fortranのことで調べてもわからなかったような奴のどこが勤勉なんだよ
こんなもん調べてもわからないような奴の方がカス
- 540 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 22:08:54 ]
- >>532
READ(10, '(I4, I2, I3)') IYEAR, IMONTH, IPRICE これで読め!
- 541 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 17:31:14 ]
- read文は終わった後に次の行に改行しますが、改行しないで今の位置を保持する方法ってありますか?
- 542 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 18:46:24 ]
- >>541
do i=1, 3 read(unit=10, fmt='(I5)', advance='NO') n(i) end do
- 543 名前:541 mailto:sage [2008/09/27(土) 19:09:10 ]
- >>542さん
advanceってreadでも使えるんですか!ありがとうございました。
- 544 名前:デフォルトの名無しさん [2008/09/29(月) 14:28:56 ]
- 実行時にエラーメッセージ「invalid character in field」が表示されます
原因として何が考えられますでしょうか
- 545 名前:544 mailto:sage [2008/09/29(月) 15:35:53 ]
- 自己解決しました。単純なミスでした・・・
一息ついて後でみると以外とすぐミスがわかったりしますよね
- 546 名前:デフォルトの名無しさん [2008/09/29(月) 16:42:11 ]
- FORTRANってやったことないんだけど
なんかこのスレ見てるぶんには PL/Iに文法が似てますねえ
- 547 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 18:28:02 ]
- そりゃ大昔の言語という仲間だからな
- 548 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 23:08:21 ]
- >>546
FORTRANの方が先祖だけどな。 PL/I=FORTRAN+COBOL かな。 昔はIBMに勤めると嫌でもならわされていたような。
- 549 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 00:48:45 ]
- >>530
ありがとうございます。 gnuplotをダウンロードして、早速使ってみました。 うまく工夫すれば直接Fortran計算結果をグラフにできるようなので、いろいろと試してみます。
|

|