人気ブログランキング |

プログラミングの問題

私は、メインサイト『多自由度バスレフ研究所』で、多自由度バスレフの計算プログラムを配布しています。
ダブルバスレフにも使用できるし、副空気室の容量を立米単位に巨大化にすれば、シングルバスレフの計算にも応用できるものです。

そこでは、C言語で記述したプログラムのソースコード、プログラムの取扱説明書、Windows用コンパイル済実行ファイルをダウンロードできるようにしているので、なるべく使っていただきたいのですが、実際に使っている方はすくないようです。

最近ある方から質問を頂いたのですがそこで、普段意識していない問題に気付きました。
『倍精度実数はどのように入力すればいいのですか?』
考えてみると、C言語はその柔軟さゆえにこういうところが分かりにくくなっています。
私くらい以上のの年代だと、計算プログラムには、FORTRANを使うのが一般的で、その場合には、入力の桁数を指定することが多いです。
例えば、F12.3とか入力すると全部で12桁、小数点以下3桁のような感じで、こういう指定は、C言語に慣れてしまうと記憶の隅からも消えてしまっていました。
配布しているプログラムの場合には、入力値の単位系を指定していて、それを取扱説明書に記述してあり、プログラム内部でSI単位系に変換して計算しています。
必要なのは、入力値の物理単位を指定通りにすることだけで、桁数を倍精度で入力する必要はありません。
倍精度とかは、プログラムのソースコードを見ればわかるので、取説には書かないほうが良かったのかもしれません。

プログラムは複数の設計条件を何百例でも計算できるようにしているので、便利と言えば便利ですが、たとえば数千例の設計条件を入力しても、結果の出力ファイルを開くのが大変なので、実用性はありません。
計算自体は10例くらいだったらトイレに行く間に終わるくらいなので、就寝前にプログラムを走らせておいて、起床したら結果を見るという使い方も必要ありません。
流体力学の計算をするなら、収束するまで繰り返し計算するというような処理が必要なので、就寝前に走らせて朝確認とか、1週間計算させるようなこともあり得ますが、私のバスレフ計算程度でしたら大した処理はないので、トイレに行く間に計算完了するという感じです。

それでも、計算を速くしたいときには、高速CPUを使うよりむしろLinuxで計算するほうがいいと思います。
Linuxのコンパイラは64ビット対応なので、同じ64ビットCPUでも計算はWindowsPCよりもずっと速いです。
Linuxは標準的にGCC(GNU C Compiler)を使えるというのもメリットですので、Linuxがメジャーだったら、実行ファイルの配布も不要です。
でも皆がLinuxを使う状況は、皆がプログラムのソースを読んで自分で改変して使うというイメージです。

理工系の研究室みたいでちょっとシュール過ぎる...



トラックバックURL : https://mcap.exblog.jp/tb/239750704
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by mcap-cr | 2019-11-07 05:31 | プログラミング | Trackback | Comments(0)

音楽は生演奏が最高ですが、レコード音楽は、工学オーディオによってリーゾナブルなコストで楽しみましょう。


by MCAP-CR
プロフィールを見る
画像一覧
更新通知を受け取る