フォートランってどうよ?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/03/11(土) 04:29:50人でも覚える事は出来るのでしょうか?
覚えたとしても、仕事で使えるの?
俺が思うにプログラミング言語が多すぎるので、一つの言語に統一
すればいいとおもうんだけど。たとえば古くからあるフォートランなど
0020デフォルトの名無しさん
2006/03/12(日) 14:46:03Cはそういう方面は不得意なまま放置されてるから
依然として Fortran 優位。
0021デフォルトの名無しさん
2006/03/13(月) 10:28:48未だにそれなりに需要が有るってことだよね、きっと
0022デフォルトの名無しさん
2006/03/13(月) 20:20:120023デフォルトの名無しさん
2006/03/13(月) 22:39:39【科学技術計算】C言語とFortran どっちがいい?
http://science4.2ch.net/test/read.cgi/sim/1042715803/
0024デフォルトの名無しさん
2006/03/14(火) 17:18:14具体的な需要のある分野はどこだろう
大学とか?
偽装で話題になった建物の構造計算とかは言語はなんだろう・・・
0025デフォルトの名無しさん
2006/03/15(水) 01:39:400026デフォルトの名無しさん
2006/03/15(水) 04:11:10ソース書き換えなきゃならなくなったときに固定フォーマットとか72文字制限とか知らなくて大変だった
0027デフォルトの名無しさん
2006/03/16(木) 02:07:49守れよ!w
0028デフォルトの名無しさん
2006/03/16(木) 04:02:040029デフォルトの名無しさん
2006/03/16(木) 08:27:53Fortranは開発者とユーザが同一のことが多く、60年代のソースが未だに
使われているほど物持ちが良い。go to文廃止論に対して come from文を
作るとかいう寒いオヤジギャグセンスも持っているし、ある意味最強。
まじめな話、複素数演算が必須の電磁界解析とか、ベクトル並列計算業界とか
ではFortranを使う研究者の数の方がまだ全然多い。
それにコンパイラの最適化に投資されている人的、金銭的資金も
この分野ではまだまだFortranが優位。
システム制御とか、金融系とか、もちろんWeb系とかそういう世界とは全く無縁の
目立ちにくい世界でしっかり根を下ろしてるからね、Fortranは。
でもまあ、これからはCかFortranか、ではなくて、C++かFortranか?ってことになると思う。
漏れも電磁場計算で、I/Oとか前後処理はC++で、ソルバとかフィルタ関数とかには
20年前くらいからあるFortranライブラリを使ってます。
0030デフォルトの名無しさん
2006/03/16(木) 16:42:25Fortran の「速さ」はベクトル演算などのランタイムがターゲットのアーキテクチャに高度に最適化されていることによるもので、
それを可搬性を意識して記述した C と比べても、言語的には C と ランタイムの記述言語(アセンブラなど)との比較に過ぎず、
あまつさえ一方は可搬性重視で他方は特化型と、もともと要件の異なるプログラムの比較は
C と Fortran の何を比べようとしているのかが謎なままの根本的にナンセンスな試みであろう
0031デフォルトの名無しさん
2006/03/16(木) 21:55:480032デフォルトの名無しさん
2006/03/16(木) 22:03:54長らくフォートランで仕事していたんだろうと思うが……
0033デフォルトの名無しさん
2006/03/16(木) 23:13:51行依存という点ではパンチカードの名残ともいえなくない。
終端子が必要無いからそのほうが好きだが。
0034デフォルトの名無しさん
2006/03/17(金) 00:52:55多い中で、implicit noneとかDO DO言ってる漏れらFortran使いこそ最強。
0035デフォルトの名無しさん
2006/03/17(金) 01:24:370036デフォルトの名無しさん
2006/03/17(金) 01:25:590037デフォルトの名無しさん
2006/03/17(金) 12:17:58禿DO
0038デフォルトの名無しさん
2006/03/17(金) 20:25:34具体例を頼む
0039デフォルトの名無しさん
2006/03/17(金) 20:43:09何ですかそれ?
0040デフォルトの名無しさん
2006/03/17(金) 20:50:190041デフォルトの名無しさん
2006/03/17(金) 22:50:36Foooooootran
0042デフォルトの名無しさん
2006/03/17(金) 23:28:48具体例って言われても、それは一体何を求めているの?
解く問題の例?C++とFortranの構成例?まさかソースそのものじゃないよね。
とりえあえず、最初の2つについて答えて見ると、
問題「積分方程式法による3次元の電磁場解析」
構成例
読み込み、離散セルの用意、変数の整理はC++
グリーン関数の計算、線形連立方程式(密行列)のソルバはFortran
という感じ。連立方程式のサイズは10万元オーダーくらいまではシングルCPU、
それ以上になるとMPI使って並列計算に移行してます。
ソルバはC++でも出てるけど、選択肢の多さはまだまだFortranだし、
グリーン関数とか問題固有のライブラリは、過去の遺産次第ってところもあると
思うけど…。
0043デフォルトの名無しさん
2006/03/17(金) 23:31:40ABAQUSやMarcなんかの解析ソフトがそんな感じだったっけ。
昔使ってたANSYSのGUIはTcl/Tkだった様だが、今は知らん。
0044デフォルトの名無しさん
2006/03/18(土) 00:15:08もうちっとC++を使うメリットを頼む。もう少しkwsk利点を教えてくれ。
マジな質問だから。ひねた答えしないでw
こういうところがうれしいとか、きもちよくて射精してしまうとか。そういうレベルで。
それはそうと電磁場解析ってなに?w
導波管内の伝播みたいなもの?
まぁ線形方程式を解くくらいならC++でもルーチン有そうだわな。
疎行列でCG法とかならMPIとかにも向いてそう。
>>43
MarcとかαFLOWとか使ったことないが、プリ・ポスト処理のためXWindowの端末を
くっつけろとか単語を音としては聞いたw 可視化の絵を描くためと認識していたが、
有限要素法のメッシュを切るのにも使うんだっけか?
0045デフォルトの名無しさん
2006/03/18(土) 01:03:56>もうちっとC++を使うメリットを頼む。もう少しkwsk利点を教えてくれ。
>こういうところがうれしいとか、きもちよくて射精してしまうとか。そういうレベルで。
ハイレベルな質問っすな。とりあえずぶっちゃけ、絶対C++じゃないとだめってことはない。
いきなりこんな結論でスマソ。てか漏れがFortranで数値計算を勉強し始めて、周りも
FortranばかりだったのでC++の便利さを生かし切れていないだけなんだけど、
入出力の楽さはC++に勝てないと思う。それにその辺の便利ライブラリはC/C++の方が豊富。
あとはまあ、時代の流れに乗り遅れてはいないぞっていう安心感?w
電磁場解析はいろいろあるけど、とりあえずMaxwell方程式を解くってことで。
アンテナ解析とか地球電磁場解析とかいろいろですね。
差分法とか有限要素法が疎行列に帰着するのに対して積分方程式は密行列になる感じ。
疎行列のソルバは結構あるけど、効果的なプリコンディショナ付きのもの、しかも
電磁場解析に必須の複素数サポートのものはなかなか見つからないっすよ。
ブロック不完全三角分解前処理付きGMRES法とか言われると、MATLABに微妙な組み込みで
見つかったのと、あとはいくつかの並列計算ライブラリにあるくらいです。
しかも問題によってはいくつかのソルバは解が不安定で使い物にならんし。
この辺のノウハウは、研究室レベルでしか広まらないから情報も少ないんですよね。
004644とは別人
2006/03/18(土) 01:15:49>それにその辺の便利ライブラリはC/C++の方が豊富。
これは可視化ライブラリみたいなものを想像すればいいんでしょうか?
素人なので3次元の結果が得られたところでそれをどう利用するのかピンと来ない・・・
0047デフォルトの名無しさん
2006/03/18(土) 01:16:01メッシュ切りや拘束条件の設定をCAD感覚でやりたい、という需要があるんじゃよ。
商用レベルの見かけや使い勝手の良いソフトをFORTRANだけで作ろうとするのは
さすがに労多くして功少なしじゃから、そういった部分はGUI関係の充実した言語を
使うんじゃよ。
昔は有限要素法というと方眼紙に描いたモデルから節点の座標を拾って
手で打ち込んでいたもんじゃがのぉ。ふぉふぉふぉ。
0048デフォルトの名無しさん
2006/03/18(土) 01:49:07うちの場合は、3次元の電磁場を観測データとして、それを最終的には
逆解析に掛けます。3次元というのは、信号源、構造の両方か、どちらかが
3次元って意味合いです。信号源3次元、構造2次元の場合は2.5次元解析とか
呼ぶこともあるみたいです。観測成分については基本的にxyz3成分計算できるので
あまり拘りません。
>これは可視化ライブラリみたいなものを想像すればいいんでしょうか?
そうですね。でもそれ以前に入出力の整形とかの時点でも。まあそうなると
別にC++じゃなくてRubyとかでも良いわけですけど…。
0049デフォルトの名無しさん
2006/03/18(土) 02:02:47ご丁寧にありがとうございます。なんとなく分かりました。
普段はoctaveを使ってそれでお終い (極稀に遅くてどうしようもないときのみFORTRAN)
程度の計算しかしていないので興味深いです。
005044
2006/03/18(土) 02:08:52kwsk答えてくれてありがとう!
>入出力の楽さはC++に勝てないと思う。それにその辺の便利ライブラリはC/C++の方が豊富。
FORTRANな脳みそな漏れには、入出力といっても数値がダラダラと
べた書きしてある物しかイメージできないのだが、メッシュを自動で切って
座標を与えてくれるとかそんなイメージを持てばいいのかな?>>47を読むと。
>差分法とか有限要素法が疎行列に帰着するのに対して積分方程式は密行列になる感じ。
なるへそ。密行列になってしまうのね。
分散メモリー型には向いてなさそうな感じで苦しそうw
>疎行列のソルバは結構あるけど、効果的なプリコンディショナ付きのもの、しかも
>電磁場解析に必須の複素数サポートのものはなかなか見つからないっすよ。
うーむ結局、そうなってしまうのか・・・
クラスター大好きっ子たちも、珍妙なベンチマークにうつつを抜かすより
地道なライブラリ整備をやってくれればいいものをw ウヒヒ
ま、問題のサイズが大きくなってくると、小さい時とは量だけではなく何故だか質まで
変わって来て、自分の問題固有の特異性の為に、一般的なライブラリをポンと
使って万事解決とはなかなか行かないもんだけど。
005148=45
2006/03/18(土) 02:38:40こちらこそ、話につき合ってくれてありがとうございます。
洩れも普段はMATLAB/Octaveで開発して、問題サイズがでかくなって
行き詰まった時に真剣にFortranを利用しようと思うのですが、MATLABスタイルに
頭が慣れてしまって困っています。Octaveもかなりいいですよね。
C++ にliboctaveってのも有りなのではと思っています。
>>50
>メッシュを自動で切って座標を与えてくれるとかそんなイメージを持てばいいのかな?
そうですね、ノードを3次元で指定して、自動で中心座標と抵抗を割り振ったりとか、
あとは、受信点の位置と、対応する周波数の調整をして、ソートして書き出すとか。
まあほんとC++に拘る必要なないと言えばないんですが…。
>ま、問題のサイズが大きくなってくると、小さい時とは量だけではなく何故だか質まで
>変わって来て、自分の問題固有の特異性の為に、一般的なライブラリをポンと
>使って万事解決とはなかなか行かないもんだけど。
激しく同意です。サイズが大きくなると、同じタイプの疎行列(非零要素の分布とか)でも
収束性が急に悪くなったりして、そのたびにソルバの種類を変えたり、プリコンディショナを
変えてみたりと悪あがきをして、でも洩れは数値計算の専門家じゃなくて、答えを解釈するのが
メインの研究だったはず…みたいな。
同じMaxwell方程式を差分法で解くにしても、未知数を電場にするか、電磁ポテンシャルにするか、
あと差分の格子点をどうとるか、とかを変えただけで、うまく動くソルバも
全然違ったりしてほんと難しいです。
自分の分野での情報が少しあっても、他の分野の情報はなかなか入ってこないし、ましてや
コーディングのテクやライブラリのお薦めとかは、研究室の外の情報は皆無状態なので、
この板とか犬板とかで情報交換できてすごいうれしいです。
0052デフォルトの名無しさん
2006/03/18(土) 12:49:42「演算処理の結果をインタラクティブなグラフにしろ」の一言で、Fortranはお手上げ。
「演算処理の出力が膨大(或いはバイナリデータ)」の一言で、VBはお手上げ。
ぶっちゃけ、単品ものなら自前でExcelでグラフにしちゃう研究者が相手だとこんな感じ。
0053http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 18:57:24もしくは64bitにネイティブ対応した置換ソフトないですか?
0054デフォルトの名無しさん
2006/04/21(金) 15:37:38n×n行列の行列式を求めるプログラム
0055デフォルトの名無しさん
2006/04/21(金) 19:57:280056デフォルトの名無しさん
2006/04/24(月) 01:38:08くだすれFORTRAN(超初心者用)
ttp://pc8.2ch.net/test/read.cgi/tech/1138063703/
もう少し詳しく書けば、あっちのスレなら教えてくれるぞw
0057デフォルトの名無しさん
2006/05/06(土) 09:51:170058デフォルトの名無しさん
2006/05/06(土) 10:25:100059デフォルトの名無しさん
2006/06/03(土) 23:45:180060デフォルトの名無しさん
2006/06/29(木) 23:04:180061デフォルトの名無しさん
2006/10/01(日) 23:10:590062デフォルトの名無しさん
2006/10/02(月) 18:40:59感動するなぁ。Rubyみたいな巻き返しが!
0063デフォルトの名無しさん
2006/10/02(月) 20:30:18http://pc8.2ch.net/test/read.cgi/tech/1104724162/l50
くだすれFORTRAN(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1138063703/l50
0064デフォルトの名無しさん
2006/10/02(月) 21:17:36Fortranと違って趣味と実益を兼ねるところに生きる道がある
0065デフォルトの名無しさん
2006/10/02(月) 23:08:22FORTRANのセクションは昔から同じ幅w
幾多あまたの言語がFORTRANを馬鹿にしてそしてたちまち忘れ去られていったことかw
0066デフォルトの名無しさん
2006/11/21(火) 23:50:490067デフォルトの名無しさん
2006/12/16(土) 22:58:25open(11,file='dmvd.d')
dx=(xf-xi)/dfloat(nn)
do 10 i=0,nn
xx=xi+dx*dfloat(i)
ptx=fac*xx*xx*dexp(-xx*xx)
c calculate Ptilde(x)
write(11,21)xx,ptx
21 format(d15.7,2x,d15.7)
10continue
close(11)
0068デフォルトの名無しさん
2006/12/17(日) 00:06:04xfが未定義
xiが未定義
nnが未定義
facが未定義
END文がない
0069デフォルトの名無しさん
2006/12/17(日) 15:09:34プログラムが正しいかどうかではなくて意味を教えてくださいm(_ _)m
0070デフォルトの名無しさん
2007/01/02(火) 17:50:45print x, fac*x^2*exp(-x^2)
next
■ このスレッドは過去ログ倉庫に格納されています