• 締切済み

【数学】特定の演算ができるプログラムを組みたい

プログラムど素人です。 数学で特定の演算を、大量にしたく、手動だと物凄く大変なのでプログラムを組んで出来れば・・・と考えております。 プログラミング言語とか全然わからないのですが、いくつかご質問があります。 ・特定の演算をプログラムにさせる場合、どの言語が適しているとかはありますか? ・ド素人が学ぶのに、おすすめのサイト、おすすめの良書などあれば教えて頂けると助かります。 (基礎の基礎からの解説があれば、表現の仕方がやや難解でも問題ないです。) ・演算ですが、少し複雑です。「複雑」の度合いにもよると思いますが、整数論の分野なので、言うほどでもないかもしれないですが・・・。 死ぬ気でやれば短期間でプログラムを組むことは可能でしょうか?(あくまでざっくりとした目安として) ・通常のPCで、1億回くらい演算をするのは現実的でしょうか?(演算内容にもよると思いますが、例えば二次方程式を1週間以内に1億回試行する事は可能ですか?) 読みにくい文章で済みません! ご教授のほど、よろしくお願い致します。

みんなの回答

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.6

> 死ぬ気でやれば短期間でプログラムを組むことは可能でしょうか?  いくら死ぬ気だって、できない人も多いでしょう。プログラムって何だ、という所から始めて、プログラミング環境の整備と使い方の習熟、数値の表現の理解、プログラミング言語の習得、その他いろいろ含め、独力で1週間で出来たら、そりゃすごい。それに、プログラムを作っても、正しくなければ意味がない。  ですから、できる人を募集する方が確実だな。死ぬ気で100万も出せば、簡単に見つかると思う。  でも、どんな計算なのかここに式だけでもお書きになれば、無料で解決するかも。死ぬ気なら書けるのでは?  「手動だと物凄く大変」とおっしゃるのが紙と鉛筆でやると、という意味なのか、電卓や表計算ソフトでやると、という意味なのかにも多少依るけれど、いずれにせよ大した計算ではないに違いない。むしろプログラミングで手間がかかるのは、桁数がものすごく多い整数の演算です。その心配が必要かどうかは、計算の途中で最大何桁ぐらいの値が出てくるかに依ります。 > 例えば二次方程式を1週間以内に1億回試行する
  2次方程式の係数を浮動小数点表現の実数や複素数で与えて、公式を使って有効数字10桁程度の解を計算する、という意味でしたら、Cなどの低級言語でプログラムを書けば、普通のノートPCで1億回繰り返すのに何秒といったところかな。Visual Basicが遅いと言ったって計算に1時間掛かるということはないでしょう。(結果を書き出すのはとっても遅いが。)

すると、全ての回答が全文表示されます。
  • chapeco
  • ベストアンサー率45% (9/20)
回答No.5

スプロケットの歯型の設計計算を Microsoft Visual Basic でやりました。 エクセルVBAとほとんど同じ文法で、 こちらが本家のようなもので無料です。 エクセルのセルのような色々なコンポーネントが簡単に使えます。 初級の参考書をお手本にして、1日で出来ました。 印刷記述の参考書が少なくて、印刷が難しかった。 印刷無しなら、お勧めです。

すると、全ての回答が全文表示されます。
  • FEX2053
  • ベストアンサー率37% (7995/21384)
回答No.4

大概の数値演算はExcelで出来ますが? 確かにExcelは2進数演算なので、小数以下で誤差が出るという 大きな問題はありますけど、その辺は技でなんとでもなるわけで。 あと、一発で処理させようとしないで、ループの1回を1行で処理させ それを一気に最終行までコピーする・・・という方法を使うと、過程も 見えて間違いがチェックしやすい・・・というメリットもあります。 プログラム組んじゃうと、最終結果が出るまで、途中経過が見えに くいんでね。特にコンパイラ言語だと・・・。

すると、全ての回答が全文表示されます。
  • ki073
  • ベストアンサー率77% (491/634)
回答No.3

もう少し具体的に書かれると回答しやすいのですが、 >プログラミング言語とか全然わからないのですが こういう場合は、いきなり汎用的なプログラミング言語を使うのではなく、方程式の解法などに特化したものを検討されてはいかがでしょうか。 思いつくもので、無料で使えるものをあげておきます。 1) maxima http://maxima.sourceforge.net 解析的な解が得られます。数値的にも方程式を解くことができます。 2*x^2+3*x+1=0の方程式は solve(2*x^2+3*x+1=0); で2つの解を求められます。かなり複雑なものも可能です。 2) scilab http://www.scilab.org 数値的に方程式を解くことができます。 Octaveも同じような機能が有ります。 3) GLPK http://www.gnu.org/software/glpk/ 線形的に最適解を求めるような場合に使えます。 いずれも日本語の解説がかなりありますので、検索してみてください。 あとは、汎用的なプログラミング言語で、 RubyやPythonもあります。数値計算用のライブラリもありますので、それを使うとかなり高速に計算できます。

すると、全ての回答が全文表示されます。
  • mpascal
  • ベストアンサー率21% (1136/5195)
回答No.2

二昔くらい前の話だと、「FORTRAN」ということになるのでしょうかね。

すると、全ての回答が全文表示されます。
回答No.1

やりたいことによるのではないでしょうか? 二次方程式を解くのでしょうか? http://excel-mania.com/math/t082.html プログラムを組むのは、解き方を理解していないと 出来ないような… 1億回だろうと、何回だろうと繰り返し行うことは可能です。 ただ、答えは1つだろうし、それを1億回やったところで…何か変わるのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A