• 締切済み

超初心者が数値計算のためにC++を勉強したい

おはようございます、理系学生です。 数値計算(乱数、モンテカルロ等)のためにC++を習得しようと思っています。研究で必要です。 将来の仕事のためにフォートランよりもC++を覚えた方がいいのではと研究室の先輩からアドバイスを受けたのですが、恥ずかしながらフォートランを授業でちょこちょこといじったことしかない超初心者です。ほとんど内容も覚えていません汗やれば少しはおもいだせるかもしれませんが... そこでアドバイスを頂きたいのですが、超初心者向けのおすすめの教材やサイト、超初心者が数値計算ができるまでにどれくらいの期間を要するのかを教えてください。アプリやらを作るわけでもなく計算なので、どこまで勉強すればよいのかもわからない状態です。経験等、有益なアドバイスを伝授していただければとてもありがたいです。 宜しくお願いいたします(> <;)

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

C++をマスターしてやる! という強い意思と目的が無いなら、やめておいた方がいいです。 覚えるべきこと、約束事が多く、肝心の数値演算までたどり着けないかもしれません。(プログラミングが得意でなければなおさら) 数値演算に特化した言語やツールが沢山あります。 そういったものがいいと思います。 R言語、MatLab、Numpy等

ryoryoryory
質問者

補足

回答ありがとうございます。 Matlabは聞いたことあります。調べてみます。 いずれはプログラミングを勉強しなければいけませんので、C言語及びC++を甘い気持ちでは取り組もうとは思っていませんが、肝に銘じておきます。むしろ、やる気が出ます。さっそく、簡単な教材を読み進めていますが、フォートランと形式は似ているのでスっと頭には入ってきます。 数値計算までは長い道のりでしょうけれども頑張ってみます。

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.1

まずは、 ・先輩のプログラムを見せてもらう ・実際に何かの簡単な問題を設定して、プログラムを作成する、 あたりからでしょうか。 C++で数値計算といっても、どの範囲の数値(実数、複素数、ベクトル、行列)を扱う必要があるか、どの程度の最適化(実行速度の高速化)が必要か、描画などもさせるか単にデータを吐き出すだけでいいのか、で作業量や習得に必要な期間は変わると思います。 また、プログラムの仕方もいろいろなスタイルがありますので一概には言えないかと思います。 ある程度まとまった時間で練習が出来るなら、FORTLANを若干使ったことがある+基本的なプログラム、なら一月程度、それに加えて行列や入出力の処理でもう一ヶ月、くらいでしょうか。

ryoryoryory
質問者

補足

回答ありがとうございます。 残念ながら、私の取り組んでいる研究は、先輩とは少し違うので一から組み立てなければいけません。同じようなプログラミングは組んでいませんが、練習となるならば一度先輩に頼み込みたいです。 問題目標はある程度決まっていて、RBS(ラザフォード後方散乱分光)という加速器分析のシミュレーションを行いたいと思っています。もうひとつがFEL-comptonの電子の振る舞いのシミュレーションです。 かなり頭が痛いですが、がんばって習得します。

関連するQ&A

  • C言語による数値計算について

    C言語による数値計算について 研究で使うため、C言語による数値計算を覚えたいのですが、何をしたらいいかわかりません。 一応わからなくてもやってみたらいいとか言われますが、そんなこと言われても、なにをしたらいいかわからないのです。できるようになるビジョンも見えません。 よくわかるCとかいろいろ参考書はありますが、別に数値計算用に書かれたものではないですし、つながりが見えませんし、まず数値計算を抜きにしてプログラミングというものを覚えようとしても、本に書いてあることが、全く謎でとっかかりがありません。 数値計算の本を見てみると、プログラミングとか全く関係なしに数値計算の手法を書いてあるものとか、最後に付録としてできあがったプログラミングが書かれているだけとかで全く手順がわかりません。 どうしたらいいのでしょうか?アドバイスをお願いします。

  • 数値計算ができるようになりたいのですが…

    現在、大学院修士課程1年です。 将来はアカデミックな研究者を目指しています。 今行っている研究で、非線形方程式(多変数)の解を数値計算を用いて得たいと考えています。 今まで数値計算はやったことがないのでこれから勉強をはじめるところなのですが、少し悩んでいます。 今は数値計算に便利なMATLABのような市販ソフトがあることが分かっており、勉強すれば短時間で実際に研究につかうことができそうです。 しかし、やはり研究者を目指すなら、そのようなソフトに頼らず、しっかりと数値計算の理論を理解したうえで、FORTRANなどで自らプログラムを書くべきなのでしょうか。 良いアドバイスがありましたらよろしくお願いします。

  • 数値計算のための勉強の仕方

    私は現在大学院修士課程1年です。 とある事情で、学部の時とは異なった分野で研究をすることになり、 研究テーマを模索していたのですが、現在は数値計算を用いて研究をするという形になっています。 現在使用しているソフトはCADMAS-SURFと呼ばれるものです。 このソフトに関する文献などを読みながら、少しソフトを動かしてみているのですが、正直なところわからない箇所が多く、 手探り状態で進めている状態です。 様々な人に聞いてみたりしたのですが、このソフトを使用したことのある人が周囲にはいません。 また、私自身、学部の時にこうしたソフトを使用したことがないばかりか、物理学にもあまり精通しておりません。 現在、流体力学の本を読んだりしながら勉強はしているのですが、難しい計算式などが出てくると それがどのような状態を示しているのか頭の中でイメージできないことが多く、 用語も知らないものばかりで時間がかかってしまいがちです。 ちなみに、数値計算を使用して研究されている数少ない先輩の話では、その方も手探り状態で進めているとのことです。 また、その方からは本に書かれている基本的な理論などは理解した上で計算しないとダメだというアドバイスをいただきました。 したがいまして、私としましては、やはり地道に勉強しながら進めていくしかないのでは、と考えております。 物理学や数値計算に詳しい方、勉強・研究の進め方、おすすめの参考書についてなど、ご教授いただければ幸いです。 また、大学院にて大学の専攻と異なる分野で研究をしたことがある方、体験談などをお聞かせください。 よろしくお願い致します。

  • C++ ファイルの値から数値を取り込んで計算

    プログラミング初心者です 現在独学でC++を学んでいるのですが,2つのファイルを入力して差分計算し,その結果を表示させるプログラミングを作りたいです.(visual studio 2019を使用しています) 例えば 5×5の数値が並んだ2つのファイル(1と2と6だけで構成されています) 11221      12212 11216      12226 22126      12221 11261      12216 12226      12216 を読み込み,それぞれの数値を差分して,以下のような結果を表示させるプログラムを作りたいです 0 -101-1 0 -10-10 10-105 0-105-5 00010 すみませんが、わかる方がいらっしゃいましたら、宜しくお願いします。

  • フォートランとC言語について

    僕は機械系の人間なんですが、卒業研究で理論計算をするためフォートランを勉強しています。最近ではフォートランはなくなりつつある言語だとよく聞ききますが、本当のところはどうなんでしょう?来年は大学院へ進学予定なんですが就職後のことを考えてC言語も勉強した方がよいでしょうか?技術職、研究職、院生の方、意見をお願いします。

  • 超臨界二酸化炭素の数値計算を教えてください

    私は今大学の研究で超臨界二酸化炭素のできる過程を調べるためC言語を使い数値計算をする研究を行っています。 まず二酸化炭素の気体の状態から圧力と温度を上げていき超臨界になるまでのその変化、そしてその分子間の距離などを調べたいのですがいつもうまくいきません。 どなたかそのプログラムわかる方いらっしゃいましたら教えてください。

  • 卒業研究でプログラムを組むことになりましたが、C++初心者のため戸惑っ

    卒業研究でプログラムを組むことになりましたが、C++初心者のため戸惑っています。 現在困っていることは、CSVファイルのデータ(縦一列)を1行目を読み込み計算、2行目を読み込み計算、3行目を読み込み計算…といった作業をデータの数だけ繰り返し、最終的にCSVファイルに出力するプログラムを組みたいと考えています。 私も引き続きC++を勉強しながら回答お待ちしています。 どうぞよろしくお願いします。

  • Excelの計算

    あるセルに「数値の入力があった時」だけ隣のセルで、上のセルの数値との計算を行わせたいのですが、どのように記述したらよいのでしょうか? <事例> 「A2」のセルか「B2」のセルのいずれかに数値の入力があったら、「C1+A1-B2」の計算結果を「C2」に出力する。 初心者の質問ですみません。

  • 入力した数値を複数の一定値で割るには?

    質問です。エクセルで表計算を作っていますが、入力をした数値に、ある複数の一定数値から該当する数値を選び、 割るにはどのようにセルに指示をすればよろしいのでしょうか? <例>数値A÷複数一定値B,C,D,E,F、etc・・・の中から一定値Cを選択して計算。 エクセル初心者ですが、よろしくお願い致します。

  • fortranプログラミングでの数値計算と可視化環

    現在fortran77により数値計算し、可視化する環境を探しています。素人なので、アドバイス頂ければ幸いです。 背景:matlabで既にプログラム済みファイルを、fortranで書き直したい。プログラムは数値計算をしてその結果をグラフ(2D,3D)で可視化する物。matlab環境では計算時間がかかる為、fortranで時間短縮したい。 環境:Win XPへ所有しているマイクロソフトビジュアルFortran77(Ver調査中。7年くらい前の物)をインストールして、それを使おうと考えています。 疑問:どうやって計算結果を可視化するか?ポストプロセッサーとして、gnueplotやmatlabを使用するのは可能だと思うがそれが一番効率的なのでしょうか?ビジュアルFortranには可視化ライブラリみたいな物があるのでしょうか? 不足情報あればアップいたします。初心者ですが、アドバイスを宜しくお願いします。 追伸:研究室の過去の資産の関係でFortranを考えています。多言語でのメリットもあれば教えて頂たいですが、基本古い言語使用に対する中傷「のみ」はご遠慮下さい。

専門家に質問してみよう