痔になりやすい生活習慣とは?

物理学で自然現象をパソコンでシミュレーションするとき、プログラム言語はどのようなものを使うのでしょうか?よく知られたC言語やJava等は使わないのでしょうか?専門的なプログラム言語がいろいろあるのでしょうか?

今後パソコンで物理シミュレーションを行うことになったとき、プログラムに関してはどのくらいの知識があればいいのでしょうか?
基本的な本を見るとBasicやFortranを使ってシミュレーションの説明をしているものがありますが、このような基本的な言語も使えるようになったほうがよいのでしょうか?
C言語やJava、VBなど一般的によく知られたプログラミング言語も覚えたほうがよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (8件)

いくつかのケースがあります.



どなたかもすでにご回答のとおり,
「シミュレーション記述言語」というようなものが
いくつかありまして,
mathematica
freefem
その他,有料のfemソフトとか
流体解析ソフト

に入力するデータを作って入れる
ということになります.
それを一種の言語を用いたプログラミングだといえばそうでしょう.

別のケースとして,Cなどのプログラム言語で,
femソフトを作る場合もあります.
そのときに,どういう手順をたどるかというと,
物理現象を,マトリックス形式にする式展開の載っている本を購入します.
その本は,ハンドブックだったりしますが,
そこに載っているマトリックス形式の式を
プログラムします.
そのときには,プログラム言語は何でもいいと思います.

一部で,Fortranや,BASICというのがありますが,
これらは,Fortranについて言えば,昔ながらのものであり,これを用いたプログラムがたくさんあるという理由です.BASICも同様です.

もしも新たに,プログラムについて覚えるのならば,
CかC++でしょうね.

これからは,プログラマーは,適当に書いて,
最適化コンパイラが汗をしぼって「高速で効率的な実行形式を生成する」時代です.

私も,言語はBASICから入り,大学時代はFortran
を主に使ってました.シミュレーションをプログラムするレベルなら,どれも大差ありません.
Cが一番小回りが利いていいと思いますね.
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
大変参考になりました。
これからは、自分がどういう研究をするのか明確にして、しっかり勉強していきたいと思います。
ありがとうございました。

お礼日時:2005/04/03 07:45

他のかたとは違う答えになりますが。


まずは、自然現象をシミュレーションと言ってもいろいろですから、答えもいろいろになります。あと、radioswimmerさんがどのような環境にいるのかでも変わります。

私の場合を申します。殆どのシミュレーションは、mathematicaという数式処理ソフトを使って行っています。これはグラフィクス出力もできます。FortranやCなら何日も要するプログラミングもこれなら数時間とか数10分でできます。自分で買うには高いのがつらいですが、大学等であれば使える環境ではないでしょうか。他にも数式処理ソフトは例えばMATLABとかいくつかあります。詳しい先達が居るか居ないかとかで選べば良いと思います。

mathematicaでは間に合わない巨大な数値計算を要するシミュレーションの場合は、やむなくC言語でプログラミングしています。でも苦痛です。特に結果をグラフィクス等でビジュアルに出す場合はつらいですので、これまたしょうがないから、Cプログラムで処理して得た結果の数値ファイルをmathematicaにimportしてグラフィクスにしています。

目的によっては専用のシミュレータが既に用意されています。例えば電子回路ならSPICEがあります。パソコン用のpSPICEは無償のものもあります。私はそれを使っています。数式とかプログラムとか全く要りません。
電子回路ではなくても、自然現象の微分方程式表現は電気回路と同じ微分方程式になるということで、自然現象を電気現象に置き換えてSPICEでシミュレーションしている人もいると聞いています。

私はFortranは使いません。プログラミングとしてはCで間に合うと思っています。Fortranも使えた方が良いに決まっていますが、道具をいろいろ学習する時間が惜しいのです。
ただし、特定用途に開発されたシミュレータにはFortranの知識を要するものもあります。その種のシミュレータが存在する分野のシミュレーションを行うなら、そして自分で一からシミュレータを開発するのでないのなら、Fortranは必須となるわけです。
    • good
    • 1
この回答へのお礼

さまざまなアドバイスありがとうございます。
非常に参考になりました。
今後、どのようなシミュレーションを行うか、自分なりに明確にして、勉強していきたいと思っています。
ありがとうございました。

お礼日時:2005/04/03 07:42

>Linuxは、使えるようになるとどんなメリットがあるのでしょうか?


グリッドコンピューティングなどをするときには使うことがあるし、何よりOSが軽く、安定していて、FortranもC/C++等の言語も簡単に手に入るため、安価(というよりほとんどフリー)に環境を整えられます。
更に言うとLinux上で開発されたさまざまなツールが手に入るので、自分で一から開発しなくてもよく効率がよいです。

>ひととおり使えるようになるには時間がかかるでしょうか?1年くらいかかるのでしょうか?
基本を覚えるのはそんなに難しくありません。どちらかというと数値演算に必要な数学を覚える/理解する方が大変です。より早く計算するために数学の知恵を沢山盛り込んでいるのが数値演算ですから。
なので、言語は必要に応じて覚えればよい程度です。

それ以上に数学ですね。

一度 Numerical Recipes In C という本を読んでみて下さい。数値演算の基礎が詰まった本です。
    • good
    • 0
この回答へのお礼

丁寧な回答ありがとうございます。
Linuxは使えるようになるには大変そうですが、是非とも覚えたいものです。
数値演算の知識を覚えるのが大切ということが良く分かりました。文献も紹介してくださってありがとうございました。さっそく勉強してみます。

お礼日時:2005/03/31 08:07

覚えて損はない言語はFortranとC/C++)です。


最近ではC/C++の演算ライブラリも充実してきているので、これで書くとWindowsのグラフィカルも利用しやすいです。C++であれば複素数演算なども行えますから。

ただ膨大な計算を行おうとするとFortranを使いたくなります。特に処理量が多いことが予想されて、パソコンでは手に余る計算になりそうな場合ははじめからFortranで記述して、高速なコンピュータ(スパコンとか大型計算機)で計算させるようなこともしたりします。

ただ最近はグリッドコンピューティングとか出てきているので、これ以外にもPerl, JAVA などは覚えた方がよいかもしれません。OSはWindowsだげてなくLinuxも忘れずに。

この回答への補足

回答ありがとうございます。
Fortranは古い言語というイメージがありますが、いまだに現役なんですね。
みなさんのコメントを総合しますと、Fortran、C、Javaをまず覚えたほうがいいようですね。
Linuxは、使えるようになるとどんなメリットがあるのでしょうか?
いずれにしても、覚える言語はかなりありますね。
かなり気合を入れて勉強するとして、ひととおり使えるようになるには時間がかかるでしょうか?1年くらいかかるのでしょうか?

補足日時:2005/03/30 07:48
    • good
    • 0

その出力結果も考慮するといいかもしれません。



出力結果が数値の表であったり、単純なグラフでいいならあまり言語は問わないと思います。
(問題となるのは数値精度でしょうか。小数点を含む最大桁数をチェックしてください)

しかし、その出力をアニメーションやCGで出力したいとなると、そちらの知識が必要になるかもしれません。
Fortranはグラフィカルな表現には弱いので、それだけで全てを行おうとすると不利です。


手法としては
・Fortranなどで出力データ(数値のみ)を作成し、グラフィック出力を別言語やツールで行う

・最初からグラフィック出力も出来る言語で行う
(ただ、シミュレーション計算と画像処理で倍の勉強必要な事は変わらない)

こんな感じになると思います。

あとはサンプルとなる資料にも左右されます。
物理シミュレーションと言っても、全ての計算を自分で考えるんではなく、部分的に他の専門書のプログラムを借りる事も多いと思います。
そういう資料が多い言語を選ぶと言うのも手です。


実際はその研究室等にある機材で何の言語を使っているか?という方が重要だったりしますが^^
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
僕が興味があるのは、アニメーションやCGというより技術計算のほうなので、Fortanあたりを覚えるのがよさそうですね。
ありがとうございました。

お礼日時:2005/03/31 08:03

自然現象のシミュレーションはいわゆる技術計算と可視化の2つの組み合わせで構成されていると考えていいと思います。

前者には、数値計算と数値解析の基本的知識が必要となります。具体的には、No.2の方が最初に書かれている事柄です。常微分方程式だけでなく、積分や変微分も扱う可能性がありますから、その場合は、それらに対応する計算法も必要です。他には乱数に関する知識が要求される可能性が大きいです。
言語は何でもいいのですが、やはりFORTRANが最適です。ただし、もし演算速度をあまり問わない程度の規模の問題で、普通のパソコンレベルで処理するのであれば、CかC++かJavaで書けばいいでしょう。可視化の部分は、おそらくJavaを使うのが楽です。

もし、質問者さんがプログラミングの初学者で、手始めに何かひとつ言語を選んで、物理シミュレーションを学ぶのであれば、個人的にはJavaで取り掛かることをお勧めします。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私は技術計算のほうに興味があるので、数学の知識がまず必要なんですね。
勉強します。ありがとうございました。

お礼日時:2005/03/31 07:58

・数値の表現形式や桁落ちとか丸め誤差


・Newton法やRunge-Kutta法など、効率的な計算法
――といった数値計算の基礎が、まず必要だと思います。

上記が既に習得済みだとした上で、プログラミング言語について言えば、加減乗除の計算と基本的な入出力ができれば、何でも良いです。結果を可視化(visualize)したり、グリッドで並列計算させたいと言った場合は、別種のプログラミング知識が必要となりますが。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
数値計算の基礎がまず必要なんですね。
本を買ったり、図書館に行ったりして勉強します!
ありがとうございました。

お礼日時:2005/03/31 07:52

大学の卒業研究で物理シミュレーションを行っていました。


物理シミュレーションには大量の数値演算を行う必要があります。これを高速にかつ簡単に行うのにはやはりFORTRANが最適です。Basicや(特にインタプリタ)Javaなどでは膨大な演算処理をするのには遅すぎますし、Cでは複雑な演算処理を行うのは難しいです。

ちなみにプログラミングの能力はそれほど問われないはずです。それよりも数学や物理学に対する知識が必要でしょう。

この回答への補足

回答ありがとうございます。
数学や物理に関する知識のほうが大事なのですね。
勉強します。
C言語とFortran、両方覚えることに越したことはないと思うのですが、やはりFortranを優先的に覚えたほうが良いでしょうか?

補足日時:2005/03/31 07:47
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q物理学を学んだ学生の就職について

物理学を学んで修士課程を終えたとして就職でどうのような選択肢がありますか?

Aベストアンサー

buturidaisukiさん、こんにちは。

就職のことはやはり気になりますよね。同じようなことを普段よく尋ねられるので、多くの卒業生を見てきた経験から現実にどうかということを書かせていただきます。

まず、結論から書きますと、ANo.1~ANo.3の皆さんも書かれているように、本人さえしっかりしていれば、大抵の会社は選択肢に入ると思います。

ANo.4さんは、分野は影響は受けると書かれていますが、ある程度、そういうこともあるでしょうが、それほどではないと私は思います。というのは、元々、理学部を卒業する場合には、勉強した「知識」をそのまま使って企業で活躍するというセンスよりも、むしろ、そこで習得した「能力」を生かすというセンスだからです。逆にもし工学部を卒業しても、そこで学習した知識がそのままどんぴしゃで企業でも使えるケースは珍しいようです。

また、物理の中での理論と実験の違いですが、私の知る限り、理論だと実験よりも会社には不利ということはないと思います。それには二つ理由があります。一つは現代の産業の現状は、IT系に重点が移ってきていて、理論系なら殆どの場合コンピューターをかなり使いますので、その面でかえって有利であること。もう一つは測定器や作業機械の使い方などは、実験系だからといって同じ機械を使うとは限りませんし、どちらにしても入社後に勉強するケースのほうが多いと思われるからです。

企業の中で、理学部出身の人が工学部出身の人よりも少ない主な原因は、日本中で工学部の定員が非常に多いことでしょう。私の見る限り、卒業生が就職で苦労するケースは、分野というよりも、むしろ個々人のパーソナリティに依ることが多いように思われます。企業では周りの環境に柔軟に順応してくれる人、しっかり意思疎通の出来る人を好むでしょうし、当然、企業の利益にかなわないことをしたいという人は、どんな学部の卒業生でも取らないでしょう。


次に具体的な現状を書きます。どこの大学とは、もちろんここでは書けませんが、卒業生の就職先はやはりIT係を中心に製造業が多いです。それは元々日本の産業構造自体がIT係に重点が移ってきているためだと思います。一言にIT係といっても、かなり幅が広いですし、IT係以外の製造業も多いです。どんな製造業でも最近はコンピューターはかなり使うと思われます。

製造業の中には当然、民間企業の研究所に就職するケースもあります。民間企業の研究所では、ごく一部の例外を除いて、その企業の利益に直結することを研究します。その内容は、物理学に基礎を置いた研究もありますし、物理学とは直接の関係のない研究をすることもあります。物理の卒業生はどちらの方向にも進んでいます。ただし「直接の関係のない」と言っても、物理はあらゆるものの基礎になりますから、殆どのものは何らかの関係はあります。

次に多いのは、公務員や中学高校教諭だと思います。その場合は、もちろん、公務員試験の勉強や、教員免許をとり教員採用試験の勉強をする必要があります。

製造業に比べれば、数は少なくなりますが、商社や金融関係に就職した人もいます。また特殊な例ではパイロットになった人もいます。


せっかく物理学を勉強したのに、就職した後に直接に関係のないものをやるのは勿体ないとか、しんどいとか思われるかもしれません。しかし、ANo.3さんも書かれているように、物理学というのは、あらゆる学問や科学技術の基礎であり、また、知識そのものを使わなくても、物理学を学ぶ過程で習得した「現実に根ざした論理的思考」というのは、どんな分野にも共通に必要なものなのです。ANo.4さんも書かれているように、「仮説・検証・修正」という物理学の方法は、あらゆることに適用が可能です。

また、「知識の陳腐化」ということがあります。技術というものは日進月歩ですから、大学でどんな分野の学問をした場合でも、どのみち入社後にも勉強をし続けていかないといけません。しかし理学系と工学系の違いは、理学部で勉強したことは、時間が立って成り立たなくなるようなことではないというところです。物理で言えば、力学や電磁気学などの知識が陳腐化することは未来永劫ありません。それらは自然界の法則だからです。ところがある特定の「技術」というものは、多くの場合数年で陳腐化してしまいます。

さらに、逆に基礎的な知識が必要になったときに、技術だけを学んでいた人が基礎に立ち戻って勉強しなおすのは、大変なエネルギーが必要になります。一度でも基礎を十分に勉強したことがある人は、忘れてしまっていても、少し勉強すれば思い出すことができます。基礎をしっかり勉強した上に応用を勉強するほうが、応用だけを勉強しているより安心です。

これは教育関係に進む場合も同様だと思います。やはり理学部でしっかりその分野の内容を勉強しつつ教員免許も取るほうが、教育学部で教員免許をとるよりも好ましいと、個人的には思っています。(両方やるのは確かに大変ですが。)


最後に、修士課程に進むメリットについて付け加えます。学部で、およそ力学、電磁気学、量子力学、熱統計力学を学習するわけですが、それは学問の基礎の部分です。卒業研究~修士課程で、研究(らしきもの)に手を染めることにより、その基礎部分の知識の本当の意味が、より正しく深く理解できます。また、現実の問題を考えることにより、「問題解決能力」も身につけることができます。研究の世界では必要に応じて問題を自分で整理して設定する能力が求められます。誰かがきれいに作った問題を解くだけの話ではなくなってくるのです。そのような能力はどんな分野に就職しても必要とされるものです。大学院ではその部分も学ぶことが出来るはずです。

buturidaisukiさん、こんにちは。

就職のことはやはり気になりますよね。同じようなことを普段よく尋ねられるので、多くの卒業生を見てきた経験から現実にどうかということを書かせていただきます。

まず、結論から書きますと、ANo.1~ANo.3の皆さんも書かれているように、本人さえしっかりしていれば、大抵の会社は選択肢に入ると思います。

ANo.4さんは、分野は影響は受けると書かれていますが、ある程度、そういうこともあるでしょうが、それほどではないと私は思います。というのは、元々、理学部を...続きを読む

Qプログラミング言語

物理の実験系で必要なプログラミング言語には主にどのようなものがあるのでしょうか。Fortranなどは実際使われているのでしょうか。

Aベストアンサー

本当に何をしたいかですね。

Fortranはライブラリ資産が多く残っているので読む程度の知識は必要でしょうが、それでバリバリ書くのは今の時代にそぐわないでしょう。

僕も制御やっていたのでCとアセンブラには慣れてますし、Fortranで情報処理の試験を受けた時代の人間ですが、今はデータ処理はExcelですし、ちょっと複雑ならExcel Macroです。そういう点では覚えるならVisual Basicが良いです。

数式が多いときは、Mathematicaですし、複雑な処理系ならMatlab Simulinkです。

今はPCが速いので、頑張って自分の得意と思っている言語でプログラミングするより、その場にある高級言語使って、パッと解く方が簡単です。環境構築が面倒臭いのですし。

出来ればグラフィック処理が充実しているのが良いです。MathematicaもMatlabもどちらも良く似たフリーソフトがあるので、学生ならそれらでも良いと思います。そういう点においてExcelは良いソフトです。VB付ですから。

その上で、もうちょっと高度や高速にしたい欲求があればCでプログラミングするという手順と思います。

ただ一つ習得すると、プログラミングのコツを覚えるので、他の言語の習得はだんだん楽になりますよ。英語やドイツ語、中国語を習得するよりはるかに簡単です。

本当に何をしたいかですね。

Fortranはライブラリ資産が多く残っているので読む程度の知識は必要でしょうが、それでバリバリ書くのは今の時代にそぐわないでしょう。

僕も制御やっていたのでCとアセンブラには慣れてますし、Fortranで情報処理の試験を受けた時代の人間ですが、今はデータ処理はExcelですし、ちょっと複雑ならExcel Macroです。そういう点では覚えるならVisual Basicが良いです。

数式が多いときは、Mathematicaですし、複雑な処理系ならMatlab Simulinkです。

今はPCが速いので、頑張って自分...続きを読む

Q物理学で研究職につくには

現在、高3の受験生です。

僕は、将来は物理学で研究職につきたいと思っています。

そもそも、研究職につける人は、かなり限られると思いますし、
物理学という分野でも同じ事が言えると思っています。

それに僕は、そんなに天才的な何かがあるとは思えませんし、
高校時代から物理の難しい本を読んで、
大学レベルの事を勉強しているなんて事もありません。

それでも、やっぱり研究職につきたいと思います。

学校の授業でも物理が一番好きですし、
勉強してて面白いとも思えて、自分には物理があってるのかな~
なんて思っているんですが、
こんなくらいの考えで物理学科なんて行ったら、
痛い目見たりしてしまうでしょうか?

何か質問がよくわからなくなってしまったんですが(笑)

とりあえず、物理学科に行って、研究職につける人というのは、
どれくらいいるもんなんでしょうか?

Aベストアンサー

No.2です。補足です。

No.2で原子核理論と原理核実験を書き忘れるという失態を犯してしまいました。そういう分野もあります。その他、生物物理などもあります。

No.3の方が書かれていますが、物理は実力主義の世界なので、出身大学は関係ないです。
実力主義の結果として東大や京大の特定の大学出身者に偏る傾向があるということになります。
たとえば、東工大は東大出身の教授が多いのですが、それは東工大出身者をコネで採用するということをしていないので、実力で採用した結果そうなってしまうだけです。
しかし、東北大、名古屋大出身の優秀な研究者もたくさんいますので、ご安心ください。
物理学者になることだけが目標であれば、どうせ学部では基礎的な勉強しかしないし、教授と専門分野について語りあうことも一切ないので、旧帝大だろうが地方大だろうがどこでも一緒です。
でも、一般に優秀な者は入試程度でつまづくはずはないです。

さて、宇宙にご興味がおありとのことですが、大きく2つのパターンに分けられると思います。
1.数学が得意で、物事の原理を根本的に突き詰めるのが好き
2.漠然と宇宙が好き
1でしたら、初期宇宙などの宇宙理論、もしくは素粒子論がよいでしょう。
2でしたら、観測的宇宙論や宇宙観測がよいでしょう。

宇宙理論はかなり人気のある分野ですよ。
私は東大出身ですが、同期で宇宙理論に進んだ人は数人いました。
(全員、とても優秀な方でした。)
残念ながら全員、途中でやめていきました。
宇宙理論はそんな感じです。
だいたい、宇宙理論は各大学にポストが2つや3つくらいしかないわけです。
ある大学のポストが2つと仮定して、そのポストについている教授、助教授の年齢が55歳、45歳だったら、(定年が65歳なので)あと10年間はその大学では全く空きがでません。その一方で、毎年数名、大学院に入ってくるわけですから、おのずから競争は厳しくなります。そういう分野は博士課程を終えたあと、世界中を任期が2,3年のポスドクをやりながら転々とします。
たまにポスドクが切れちゃって半年や1年くらい無職になったりする人もいます。
そこまでして続けるというのは、物理が好きというのを通り越していて、物理教の狂信者といった感じですね。
で、諸国を転々として、日本に空きができたら帰ってくるという感じでしょうか。
だから、旧帝大で宇宙理論のポストにつこうと思ったら、それなりの能力と覚悟が必要でしょう。
しかし、基準を下げれば、結構簡単です。
日本には実はたくさん大学があって、地方大学で一般教養の学生に物理を教えるポストや、国際××福祉大学のような聞いたこともないような私立大学で文系の学生にエクセルやワードの使い方を教えるポストもたくさんあり、そういうのは割と簡単になれます。
理論でしたら、お金がもらえて時間があればどこにいようが研究はできるので、そういう手もあります。

ちなみに、宇宙観測に行った同期数人は、ほとんど研究者としてのポストか、JAXAや民間企業などで観測衛星の開発にかかわる仕事についています。宇宙観測も人気があります。

素粒子実験、物性実験は、博士号取得→助手→助教授とかなりスムーズに進むケースが多いです。

生物系では、博士課程の途中で助手になる人もいますし、分野によっていろいろですよ。

今は理系は修士まで行くのが当たり前で、優秀な大学院生も大勢いる一方で、学部の内容さえろくに理解していない本来大学院に来る必要もない大学院生も山ほどいるのが現状です。だから、遠慮することないと思いますよ。(意外かもしれませんが大学より大学院の方が簡単に入れます)
そこそこの大学を出て修士までだったら、希望すれば大抵どこでも就職できるので、とりあえず物理学科に行って勉強したらいいと思いますよ。
理論物理は人間の能力を極限まで鍛えるのに最適です。
物理をやめて今は他の分野の仕事をしている友人が
「場の量子論を経験した以上、他の分野の学問は簡単にしか思えない」
と語っていました。確かに数式には極端に強くなります。

ただし、修士で就職する場合、修士1年の終わり頃から就職活動を開始しなくてはいけないので、大学院に入って1年以内に決断する必要があります。長い間迷っている時間はないです。で、その時期はまだ場の量子論の初歩をかじりかけた段階だと思うので、さしずめ1950年代までくらいの物理しか知らないでしょう。物理の全体像を把握する前に続けるかやめるか決断しなくてはいけないということです。
博士課程まで行って博士号をとるのは簡単なことですが、そこまで行くと27歳なのでそれなりのリスクが伴うことを覚悟しておく必要があります。

最後に、
ノーベル賞を受賞した朝永振一郎(ともながしんいちろう)は、物理学者になると父親に話したときに止められたそうです。そんな道に進んでも高校の教師になるのが成れの果てだぞ、それでもいいのか、と。朝永さんは、好きだからそれでも構わないと思い、物理の道を選びました。
私もこれから進もうとする人に少し怖気づかせることを書いてしまいましたが、kiku511様は朝永さんのようにすごい才能があり、次々と大発見をして歴史に名を残すような学者になるかもしれませんね。

No.2です。補足です。

No.2で原子核理論と原理核実験を書き忘れるという失態を犯してしまいました。そういう分野もあります。その他、生物物理などもあります。

No.3の方が書かれていますが、物理は実力主義の世界なので、出身大学は関係ないです。
実力主義の結果として東大や京大の特定の大学出身者に偏る傾向があるということになります。
たとえば、東工大は東大出身の教授が多いのですが、それは東工大出身者をコネで採用するということをしていないので、実力で採用した結果そうなってしまうだけで...続きを読む

Qcでなぜguiアプリが作成出来るのか。

cでなぜguiアプリが作成出来るのか。

現在cについて学習中です。
テキストエディタで書きターミナルで実行しています。
cではアプリが作れるようになるといいますが
現在のままではcuiのソフトしかできる気がしません。

一般的に言われるアプリケーションというものを
作成するにはまた別の手段が必要なのでしょうか。

Aベストアンサー

C言語の標準関数では出来ませんね。
Windowsであれば、WindowsAPIと言う関数群を使ってウィンドウを作成したり、ウィンドウをコントールする事が出来ます。
昔のMS-DOS時代であれば、直接VRAM(画像メモリ)をポインタで操作出来ましたので、VRAMに直接書いていました。

WindowsAPIについて紹介しておきます。
「Win32 API入門」Win32は、WindowsAPIの32bit版と言う意味です。
http://wisdom.sakura.ne.jp/system/winapi/index.html
C言語の知識としては、ポインタから構造体まで使いますので初心者にはムチャクチャ難しいです。CUIが自在に組める人でも挫折者がいますからね。

そうそう、CUIでもこのぐらいは出来るよと言う例も書いときますね。
http://hp.vector.co.jp/authors/VA016117/cprog/index.html
参考にしてください。

Q量子力学の良い演習書を教えてください。

量子力学の良い演習書を教えてください。
今、小出昭一郎の「量子力学1」を読んでいるのですが、理解を深めるために問題を解きたいと考えています。
一応院試も視野に入れて典型的な問題と本質が理解できているかを問うような問題を解きたいのですが演習書は何が良いでしょうか?
本質が理解できているか問うような問題とは、今読んでいる「量子力学1」が誤解なくきちんと理解できているか確かめれるような問題という意味です。
小出昭一郎の「量子力学演習」を少し読んでみたのですが院試向けではないような印象でした。
大学演習シリーズや詳解シリーズも少し手をつけたことがあるのですが量が多いのでどの問題をやればいいか困るので挫折しました。
できれば一冊をすべてやるのにちょうど良い分量のがいいです。

Aベストアンサー

和書の手ごろな分量であれば、
岡崎 誠、
演習 量子力学 (セミナーライブラリ物理学)、
サイエンス社
http://www.amazon.co.jp/dp/4781910068/
だと思います。

洋書であれば、
Zettili,
Quantum Mechanics--Concepts and Applications,
Wiley
http://www.amazon.co.jp/dp/0470026790/
もオススメですね。

大学の講義で量子力学の演習があれば、それを大いに活用してください。

QC/C++だけでグラフィックを扱う方法

C言語の入門書をようやっと終えたばかりの素人です。
C言語の標準的な機能ではGUIなどは扱えず、本格的なゲームなどを作成するためには別途にWinAPIやDirectXなどの習得が不可欠だということを知りました。
しかしここで疑問なのですが、もしC言語では絶対にGUIが扱えないのであれば、これらWinAPIやDrirectXというGUIを扱う機能を持つ部分は、別の言語(?)で書かれていることになりますよね。これは何の言語で書かれているのでしょうか? 
それともここで言う「C言語単体でGUIは無理」というのは「扱えないことはないが、初心者が扱うには難しすぎる。今の時代まずやらないほど面倒くさい。こういうのを用意してくれてるから使っておきなさい」という意味なのでしょうか?
もしそうなら、そういう「扱えないことはない」というところまで解説した書籍やサイトはありませんか?

ご回答よろしくお願いします。

Aベストアンサー

最近の言語は全て
「言語自体には入出力機能は無く、入出力機能はライブラリが提供する」
ということになってます。つまり GUI は 言語の一部ではなく、ライブラリが
担当するものなのです。

C言語なら Windows API を使うしかないと思いますが、C++なら
MFC を使えばだいぶ楽をできるでしょう。C++/CLI なら .net Frameworkも
利用できます。

各ライブラリがなんで書いてあるかはライブラリによるでしょう。
多分 C や C++ もかなり活躍していると思います。一部はアセンブラ
で書かれていると思います。

Q理系学生は皆プログラミングできるのですか

 アバウトな質問になってしまいますが、理科系統で研究されている方が、パソコンで解析結果とかを見ながら説明する番組をよく目にしますが、大学研究でそのようなプログラムは、理科系統の学生はみなできるという事でしょうか?。
 中高の同級生で、工学部を出た者が数名おりますが、4年次のゼミで、皆で何かの解析プログラムを組んで卒論書いたとか言っておりました。そのゼミ教授は、院の授業も兼任されていたようで、院生も混じっていたとか。どういうプログラムかは、当時の記憶がないのでよくわかりません。その時に作ったのか、連綿として改修しながら作っていたのか。

Aベストアンサー

相応の研究をするならば、プログラミング能力も必要になるという事ですね。でも、今や一人で研究するという事はないでしょうから、開発チームめいた方々がいて、それを利用するというものかとも思いました。
 研究解析系の開発はしたことありませんが、一時期流行った?推論システムにPGとして請負った事がありますが、下請けで中継ぎ請負で入ったので、仕様はさっぱりでした。なので、一般的に企業で請負うものとの差がわかってません。かなりの専門用語と数式の集まりだろうから、普通の企業には流れてこない案件だろうしなあといったところです。


全く書けないという意味ではないのですが,アルゴリズムを自分で編み出す能力が必要となります,
私の書くプログラムは,人工知能系の学習プログラムと計算幾何学ですが,アルゴリズムを提案するためにいろんな分野のことを研究します.たとえば,DNAの構造解析とか量子科学とか音声認識とか...そうやって引き出しをつくります,

例えば,新しい構造をもった物体を提案し,それがミクロでどういう挙動をしめすかという実験をするとします.
そしたら,その実験テーマにあった,プログラムを書くためのアルゴリズムを自分で考えなければなりません.そのときに引き出しをもっているかどうかという有無がかなり個人差があります.

そういう意味で,教員レベルでも得意,不得意がでてきます.(分野によっては,既存のシミュレーションソフトをつかって,スパコンでシミュレーションして,さらに実物実験をしたりするので,プログラム能力は特にとわれない場合もたくさんあります.)

質問者さんがおっしゃるように,一人で研究することは(結果的には)ないので,例えば始めはFortranやCでつくって演算速度,アロケーションの具合などを検証し,それを発表した上で,,C++に移行させて研究室で共有し,また新しい課題にとりくむ,と言った具合になります.

いかに使用メモリ量を減らし,うまくメモリアロケーションをして,大規模データを扱えるか,というのが一番大切な能力です.

そういうふうにシンプルではありますが,コードを書く前の検証(つまり,アルゴリズム化する)という能力の有無はかなりあります.
そして,そういうのは当然,外注できません...

質問者さんはSEということで,おそらくプログラマーとして食べていく能力としては,私よりおありかと思います.

相応の研究をするならば、プログラミング能力も必要になるという事ですね。でも、今や一人で研究するという事はないでしょうから、開発チームめいた方々がいて、それを利用するというものかとも思いました。
 研究解析系の開発はしたことありませんが、一時期流行った?推論システムにPGとして請負った事がありますが、下請けで中継ぎ請負で入ったので、仕様はさっぱりでした。なので、一般的に企業で請負うものとの差がわかってません。かなりの専門用語と数式の集まりだろうから、普通の企業には流れてこない...続きを読む

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

Q大学院の面接(口述)試験について

2週間後に大学院の試験を受けます。
そこで、2つ質問があるのでご教授ください。

ちなみに、大学→他大学院(専攻も変わります)です。

まず、どのような質問がされるか教えてください。
過去ログを見て

・志望理由
・なぜ、専攻を変えたか
・なぜ、この大学か

などが聞かれると書いてありました。
他にはどのようなことが聞かれるのでしょうか?
時間は、大体20分あるのでたくさん質問されると思うのですが・・・。


次に、自己PRや志望理由等で一言一句暗記してそのまま言うのは印象が悪いとあったのですが、これはどうなのでしょうか。
たしかに、自分が面接官で暗記したのを言われたらあまりよい印象はもてないと思います。
しかし、自己PRや志望理由は暗記しかないと思うのです。

以上、2つお願いします

Aベストアンサー

大学院で専攻が変わりましたので、参考にして下さい。
時間は20分、面接官は3~4人でした。

まず聞かれたのが志望理由ですが、願書と一緒に小論文として志望理由を書いていましたので、その内容を話しました。
もちろん、一言一句暗記ではありませんが、内容(というか、あらすじ)は小論文と同じです。
先生方は小論文を読みながら聞いていました。
多分、書いてある内容と言っている内容が違った場合はここで突っ込まれるのだと思いました。
丸暗記でない点は、詳しく書かなかった部分を補足して説明したり、書いてあるとおりの内容は割愛して説明した点です。

・志望理由
・なぜ、専攻を変えたか
・なぜ、この大学か
以外で聞かれたことですが、卒業研究の内容と、これからやりたい分野の知識を聞かれました。

卒業研究の内容はこれからの分野とはあまり関係がない分野でしたが、「ちゃんと理解してやっているか」を見られたのだと思います。
自分が分かっていなければ、分野の違う先生方に説明することはできませんので。
これについては、「卒業研究の先生の前で後輩に説明する」という場面を想像して練習しました。
(専門家にも分野の違う人にも分かってもらうため)

これからやりたい分野の知識は、小論文の中で分かりにくい点があったため、突っ込まれました。
そのように書いた根拠(ある文献の名前)を出したので、結果としては「それだけ勉強している」と取られたようです。

大学院で専攻が変わりましたので、参考にして下さい。
時間は20分、面接官は3~4人でした。

まず聞かれたのが志望理由ですが、願書と一緒に小論文として志望理由を書いていましたので、その内容を話しました。
もちろん、一言一句暗記ではありませんが、内容(というか、あらすじ)は小論文と同じです。
先生方は小論文を読みながら聞いていました。
多分、書いてある内容と言っている内容が違った場合はここで突っ込まれるのだと思いました。
丸暗記でない点は、詳しく書かなかった部分を補足して説...続きを読む

Q偏微分の記号∂の読み方について教えてください。

偏微分の記号∂(partial derivative symbol)にはいろいろな読み方があるようです。
(英語)
curly d, rounded d, curved d, partial, der
正統には∂u/∂x で「partial derivative of u with respect to x」なのかもしれません。
(日本語)
ラウンドディー、ラウンドデルタ、ラウンド、デル、パーシャル、ルンド
MS-IMEはデルで変換します。JIS文字コードでの名前は「デル、ラウンドディー」です。

そこで、次のようなことを教えてください。
(1)分野ごと(数学、物理学、経済学、工学など)の読み方の違い
(2)上記のうち、こんな読み方をするとバカにされる、あるいはキザと思われる読み方
(3)初心者に教えるときのお勧めの読み方
(4)他の読み方、あるいはニックネーム

Aベストアンサー

こんちには。電気・電子工学系です。

(1)
工学系の私は,式の中では「デル」,単独では「ラウンドデルタ」と呼んでいます。あとは地道に「偏微分記号」ですか(^^;
その他「ラウンドディー」「パーシャル」までは聞いたことがあります。この辺りは物理・数学系っぽいですね。
申し訳ありませんが,あとは寡聞にして知りません。

(3)
初心者へのお勧めとは,なかなかに難問ですが,ひと通り教えておいて,式の中では「デル」を読むのが無難かと思います。

(4)
私はちょっと知りません。ごめんなさい。ニックネームは,あったら私も教えて欲しいです。

(2)
専門家に向かって「デル」はちょっと危険な香りがします。
キザになってしまうかどうかは,質問者さんのパーソナリティにかかっているでしょう(^^

*すいません。質問の順番入れ替えました。オチなんで。

では(∂∂)/


人気Q&Aランキング