質問: Visual studio, Eclipse, Delphi, 等、統合環境(IDE)とかRAD環境でプログラムを作成する場合、画面にオブジェクトを貼り付けて、その動作を記述するというところから入ると思います。 その動作の中身に入って行くと、そこはプログラム言語による論理的な世界が広がると思います。例えば、足し算だったら sum=0; loop i start; sum=sum+i; loop i end; みたいなことをだいたいすべての言語(java, c, pacal, fortran)でやるのだろうと思います。そしてそのプログラムは各言語ごとに代表的なものが1つあれば、自分で作成する必要はないと言えると思います。つまり動作がしっかりしていればブラックボックスと考えて、それらを組み合わせて仕事をすればよいということになります。そのようなプログラム集が、Visual studio系の開発環境用にあるかなと思いますが、いかがでしょうか(ネット上とか、フリー利用に供するという意味で)。 ウィンドウズプログラミングではありませんが、Fortranはそういう言語ですね。ネット上に公開されているようなもので、そのサブルーチンの動作のルールだけ知っていれば、中身を理解しなくてもとりあえず動作できます。 例えばC#だったら、エクセルのような2次元のシート状の数値を読んで等高線を書くというようなことをやる場合、等高線を書くというアルゴリズムでのプログラムが既にあり、GUI環境上で、軽く操作するだけで(例えばファイルを指定したり、描画開始を指定したり)するぐらいでウィンドウが開いて等高線が出力されたりするというようなものです。 それ以外でも平均、分散などの統計処理、組み込み関数各種(サイン、コサイン)、いろいろあると思います。これらがどのように提供(マイクロフト以外にも有志によるものとか)されているのかと思います。どのようなものなのでしょうか。平均を取るという計算は世界に1つだけあればよいと言えると思います。 大変時間がかかるため、高速化させるために自分であれこれとアレンジする場合もあるかも知れませんが、一般的な内容で短時間で終わるけれど、大変複雑なアルゴリズムというものはあると思います。そういうものがすぐに入手できないかと思っています。 類似の別件になりますが、Visual studio系でのグラフィックス環境というのは整備されているのでしょうか。Javaのグラフィックスのように動作するものです。 勉強を開始したばかりなので不明です。"Visual"というのが開発環境だけでなく、結果の出力も含めた内容だとありがたいのですが。 よろしくお願いします。
回答: 回答がつかないようなので、 ちょっと聞きたいことと違うかもしれませんが、科学技術計算で余り手間をかけないでプログラムを作りたいのであれば、 まずはScilabをお勧めします。GUIも作れますし、もちろん数値計算は得意です。 ソフトを立ち上げるとメニューにデモがありますので、試してみてください。 GUIにこだわらないのなら、RubyやPythonあたりが良いのではないかと思います。行列計算用のライブラリがありますので、それを使えば非常に高速に計算できます。 以上のソフト全部に言えますが、平均はmean(x)で可能です。(言語によって表現は違うが平均をとりたい配列名を指定するだけです) CやFortranのようなコンパイラには計算速度は負けますが、行列やベクトルの計算ができますので、十分高速です。 x*yのような感じで行列の計算が可能です。 速度的なボトルネックがでたら、CやFortranのライブラリを呼び出せますのでその部分だけ書き換えれば良い訳です。 ライブラリによってはGPUつかったりもできます。