• ベストアンサー

科学計算

CやC++で科学計算をしたいと思うのですが、計算用の基本的なツールのソースが公開されているサイトなどありましたら教えて頂きたいと思います。 また、CやC++での科学計算を説明しているサイトなどありましたら教えて頂きたいと思います。 よろしくお願いします。

  • gaito
  • お礼率83% (20/24)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

 大変よくわかる補足です。ありがとうございます。  #3の方とかぶりますが。。。  プログラムを作るというのは、人間が考える手順を細分化し、機械にわかるように置き換える作業です。したがって、考える手順がわかっていなければプログラミングはできないのですが、そちらの知識は十分にお持ちである、と考えてよろしいのでしょうか。  一応googleを「"科学計算" C ソース」をキーワードに検索してみた(「科学計算」をダブルクォーテーションでくくらないと、「科学」と「計算」に分解してしまう)のですが、あまりパッとするところはありませんでした。もちろん、私の主観なので、gaitoさんの感じ方は違うでしょう。  補足の方では「微分方程式」、「モンテカルロ法」、「1次方程式」、「ニュートン法」と具体的な名称がありますからそれらで検索すると良いでしょう。これらについては、OKウェブないでもいくつか質問が上がっていますので、それらを参考にすると良いと思います。  自分で読んでわからなければ、自分と同じようにわからないといっていた人がいないか探す、というのも検索方法の1つです。そのためには、結果報告がされていなければなりませんが(なので、同じように結果報告をお願いします)。  とりあえず、検索のコツだけ、あげておきました。 ・検索サイトの「演算子」を知る ・同じ質問をした人がいないか、探す

gaito
質問者

お礼

丁寧な御回答、ありがとうございました。 また、検索のコツも教えていただきましたので試してみたいと思います。 ダブルクォーテーションでくくる話は知りませんでした。 もう少しHPを絞り込めるかもしれません。

その他の回答 (4)

  • uyama33
  • ベストアンサー率30% (137/450)
回答No.5

C言語 数学関数ハンドブック (技術評論社) をすすめます。  理由は、C++に書き換える 時に比較しやすいから。

gaito
質問者

お礼

書籍の御紹介ありがとうございました。

noname#11476
noname#11476
回答No.3

数値計算をCやC++で行いたいというのであれば、 「NUMERICAL RECIPES in C ニューメリカルレシピ・イン・シー」  ~C言語による数値計算のレシピ~ 技術評論社 を一冊購入するとよいでしょう。 上記はC言語ですが、C++を使うと複素数演算が楽になりますので、もっとシンプルで可読性のよいコードをかけます。 なんにしても大事なことは、数学上の取り扱い方です。C言語の技術ではなく、数学の技術が大事なのです。 上記の本は優れた回答を与えてくれます。 なお、実用的には自分でライブラリープログラムを書くのは現実的ではありませんから、数値演算ライブラリーを購入するなりして利用するのがベストです。 (フリーのライブラリーもあります。C言語であればGNUなど) サイトを紹介とありますが、非常に難しい話ですから、まずは基本は本を購入することをお勧めします。 その上で、本に乗っていない、あるいは応用編などはネットで探すとよいでしょう。

gaito
質問者

お礼

本の紹介ありがとうございました。 C++で複素数の演算が楽になるというのは初めて聞きました。これから勉強していく際、CからC++への移行を強く考えておきたいと思います。

回答No.2

 「素人」というのはとても「否定的」な言葉で、こういうところに長く出入りしている人にとっては「私は検索のしかたも、質問のしかたも知りません。あなたがすべてをしてください」と読まれます。使い方にはご注意を。  それで、あなたのスキルはどれくらいなのでしょう?どのような計算をしたいのでしょう?どれくらいCやC++の文法を理解されているのでしょう?また、使用するベースとなるOSは?  ね?何も必要な情報提供がされていないでしょう?だから「素人です」=「あなたにすべてを任せます」と読まれるのです。あなたが知っている情報を、他の人も持っているわけではありません。どの情報を提供するべきか、どの情報を提供すれば回答できるか、そういうところを考えてください。また、そういうところを考える癖を付けると、情報の海から目的の情報を見つけることもできるようになります。

gaito
質問者

補足

大変参考になる御意見、ありがとうございます。 確かに質問する側にも情報提供が必要ですね。 勉強しているのはC言語で、Windows上のBorland C++ Compilerを使っています。(将来はC++でやりたいと思っています。) スキルはポインタや関数などが何とか使えるようになったという程度でまだまだ勉強段階です。 勉強中ではあるのですが、次に何を勉強したらよいか考えたときに最終的な目標である計算をするために何が必要か知りたいと思いました。 (教科書にはデータ管理のような項目もあるのですが、これが私の目的に本当に必要なのかと疑問に思ったのです。) 行ないたいと思っていることは微分方程式を解いたり、モンテカルロ法によるシュミレーションをしたりということですが、そのためには簡単な1次方程式をニュートン法で解いたりということからはじめなければならないのかなあと考えておりました。 Jittaさんにはこういう場所での情報提供の求め方をいろいろ御指南頂きましてありがとうございます。 これも、大変勉強になります。

回答No.1

googleで検索する。それくらいの手間を惜しんではいけまん。  私にとって役に立つサイトが、あなたにとって必ずしも役に立つとは限らないと思いますが、いかがでしょう?

gaito
質問者

補足

説明不足で申し訳ありませんでした。 検索は質問の前より行なっておりますが、何分素人ですのでたくさんあるサイトのどこから手をつけるべきなのか途方にくれておりました。 確かに教えて頂いたものがそのまま役に立つかは定かではありませんが、経験のある方の御意見を聞いてみようと思っていた次第でした。 検索は引き続き行おうと思っていますが、「ここはお勧め」というものがあったらお願いします。

関連するQ&A

  • Fortranでの科学計算

    Fortranで科学計算をしたいと思うのですが、計算用の基本的なツールのソースが公開されているサイトなどありましたら教えて頂きたいと思います。 また、Fortranでの科学計算を説明しているサイトなどありましたら教えて頂きたいと思います。 よろしくお願いします。

  • 科学の計算

    受験勉強です。 科学の計算で 8,994÷(0,882×29,8)を有効数字二桁で求める という時、手早く記述式で減点されない計算の流れを教えて下さい。僕は不要な細かい計算をして時間を浪費してしまいます。 ちなみに答えは0,37です。

  • 自然科学を学ぶことで・・・みなさんの意見を僕のサイトに公開したいんです。

    私はある一つの自然科学のファンクラブを創立させていただこうと考えております。そこで、自然科学のススメというコンテツを製作し自然科学(化学や物理などの学問は自由)の素晴らしさや、学ぶ事でどういった利点があるのかを詳しく記述していく予定です。 自然科学が大好きな皆様方の意見を聞かせてください。基本的には、皆様方が自然科学を学んで得した点、良かった点、科学の素晴らしさを教えてください。 説得力のあるものは、私のサイトで公開させていただきたいと考えております。 もし、参考にするだけにしてほしく私のサイトで公開して欲しくないのであればこの旨も書いてください。よろしくお願いいたします。

  • 観測した角度から距離を求めるには

    天球上の木星の位置(北緯x°、東経y°というかたちで記録をとっております。)から、木星までの距離を測ろうと試みております。 そこで質問なのですが、そのような計算ができるようなツール、またはソースファイルを公開しているサイトはないでしょうか。 また、なかった場合は自分でプログラミングをしようと思うのですが、その際に計算に必要な説明をしているようなサイトを御存じでしたら教えていただけると幸いです。

  • 科学技術計算システムにCUDAというものがあります。Nvidiaのグラ

    科学技術計算システムにCUDAというものがあります。Nvidiaのグラフィックスボードを用いて計算するもので、そのためのC言語の開発環境のようなものらしいです。専門サイトもいろいろ見てみましたが、やや分かりにくいのでお尋ねします。 これを利用する場合、C言語のコンパイラは自前で用意するのだろうと思いますが、どのようなものが対応しているか分かりません。旧ボーランドのフリー系のものとか有償のものでもMSC++ ver.6のような古いものではだめでしょうか。 あるいはCUDAにCのコンパイラが既にバンドルされているというようなことはないでしょうか。 フォートランの対応版もあるにはあるようですが、PGIのもので高いんじゃないかなと思いますが、いかがでしょうか。 よろしくお願いします。

  • 科学で分からないことは何も無いでしょうか

    この世の中の出来事は、全て科学で説明できるのでしょうか。 今、科学で説明できないことでも、時間がたって科学が発達すれば、 必ず説明できるようになるのでしょうか。 科学で分からないことは何も無いでしょうか。

  • 科学についての質問です。

    科学についての質問です。 科学の問題集に質量パーセント濃度の計算の問題がありました。 解答と、解説をわかりやすく説明してくれるととてもありがたいです。 ○純度80%の炭酸カルシウムが400gある。この混合物に含まれる炭酸カルシウム(CaCO3)は何gか。

  • 科学と合理的態度について

     科学の考え方についてお尋ねします。科学の考え方の概要は知っているつもりです。基本的な考え方と実証的な考え方は一応知っています。  ところが、一つ気になることがあります。科学は何かの現象を説明するために使われることが多いようですが、説明の際にうまく(効果的に)説明しようとする傾向を持っているように思います。つまり、合理性といったようなものが科学の考え方に付随しているように思うことがあります。 科学がもともとそのようなものとして作られたのでしょうか?  でも、そう見えているだけであって、実際は、科学を使って何かを説明しようとする人間の側に合理的であろうとする態度や生活の知恵みたいなものがもともと存在していて、そうしたものが動因となって科学を発展させたと考えた方がよいのでしょうか? 問い方を変えます。科学はもともとは事実を発見したり、説明するのに使われる単なる方法に過ぎないのに、科学を使うと物事がうまく説明できるので、科学を使った人の合理的態度や生活の知恵に合致して、科学が重宝されたということでしょうか? もし、人間の側に合理的であろうとする態度や生活の知恵みたいなものがもともと存在しているのだとすると、そのうち、そうしたものが一種の観念となって、ものの考え方に大きな影響を及ぼし、ひいては科学に対しても悪影響を及ぼすのではないかと思うのですがいかがでしょうか? よろしく御教授下さい。

  • 科学と非科学

    私は最近科学と非科学についての違いがわからなくて困っています。 そもそも科学というのはどういう事を言うのでしょうか?科学技術が進歩していることでしょうか? 先日土着の民族の事を読んだのですが、そこには土着の民族というのは非科学である。なぜなら、非科学というのは本や参考書があるわけではなく、見て経験をして学ぶものだと書かれていました。 非科学というのは、いわゆるこういう事を言うのでしょうか?? 私の説明はおそらく皆さんに伝わらないと思いますが、もし理解できなければこれを無視して、皆様の意見を聞かせてください。 宜しくお願いします。

  • 科学は間違っているか?

    意識に写る現象が科学的に認められているだけで、意識を説明できず、別次元(副産物)と脳科学者は断定付けている。 このように順次考えて見ると科学が間違っているからではないか? と思うのです。 自分では「意識が科学的に解明できないのは、科学が間違っている”可能性”があるからだ」と定義付けできてしまったのですが これに対して”間違っている可能性0%”という定義づけは出来るでしょうか?

専門家に質問してみよう