数値解析法 (数値計算 編), 2003-06-27 質問と回答 M は宮本による回答。 h98s2024: 30ページのプログラムリスト35行目 f = 1 - y * y は f = 1 - x * x ではないでしょうか? M: ヲヤ ? ...... フム ? ...... アレ ? ...... Listing 17 モ (ぼそっ) ? h01s2001: マック、windowsのほかに新しくOSを作ったら売れますか?これからwindowsを超えるOSができますか? M: 良いものが必ずしも売れるわけじゃない, あるいは売れてるものが良いものだってわけじゃないのは, しばしば言われていることですね。それから, なにをもって ``越える'' と考えるのかに依存した話ではありますが, すでに Windows を越えるものはあると思いますが (?) h01s2002: 先生が授業の終わりになぜこのような質問コーナーを設けているのでしょうか? M: まず, 出席確認メールは, かならずしも授業の終了時に出す必要はありません (制限時間は Web ページにも書いてある)。それから質問を提出させる理由ですが, ``何がわからないかがわかれば, ほとんど解けたも同じ'' というアインシュタインの言葉からもわかる通り, 適切な問を発することが重要であって, 大学はそれを訓練する場所だと考えるからです。 h01s2003:文字入力のときREALをCOMPLEXにしても答えを出したときに数値として出ないのですが、REALやCOMPLEXの違いについて教えてほしいです。 M: 文字入力うんぬんの意味がわかりません。REAL や COMPLEX って数値でしょ ? h01s2004: EX.3-1 をやったのですが、Dが負のとき解がマイナスで表記されます。マイナスでなく虚数iで表記するにはどうすればよいのですか? M: 解がマイナスで表記される ?? わけわかりませんね。意図した通りのプログラムになっていないと予想されます。ではどうすればいいかって ? そりゃあ ``こうしたい'' と日本語で問題を定義して, それを Fortran 語で書けばいいだけです。 h01s2007: (5,*) の、5の意味は何なのですか? M: Fortran の文法書を見てください。 h01s2008: お勧めの参考書を教えてくださいませんか? M: 読む人のレベルによって, どの本がふさわしいのかは違ってきます。自分でいくつかの本を見て, よさそうなのを選択し, その本の著者が推薦しているものもまた読んでみればいかがでしょうか。 h01s2009: Exercise3.1の問題で解と係数の関係を使った時と使わない時でどのくらい解に誤差がでるんですか? それほど誤差がない場合は解と係数の関係を使わなくてプログラムをつくっていいんですか?       M: なぜ誤差が生じるか, 理解していますか ? どういう時に誤差が生じるのでしょうか ? どの程度の誤差までは許容されるのでしょうか ? h01s2011: exercise3,3の問題の意味がよくわかりません。どういうことをすればいいのでしょうか? M: 言葉の意味がわからないのなら, 辞書を引けば良いのではないでしょうか ? それとも箸の上げ下ろしまで指示しないと何もできないのでしょうか ? 数値計算法はまさしく *数値の* 計算をすることが目的です。$a$ は任意の数です。 h01s2012: Exercise 3.1でコンパイルして実行したところ 二次方程式の解 の一つが ”x2= lnfi "と表示されました。この " lnfi "とはどのような意味なのでしょうか。 M: おそらく表示された文字を写すときに, 書き誤っています。全角文字であることは許すとしても, ``lnfi'' なんて表示されていないでしょう。なお, どんな時にそのように表示されますか ? 本当の解はいくつですか ? h01s2013: Exercise3.1を送ります。今日の質問〜虚数解を求めるプログラムを作るときに、i以外の数値を計算して、それに"i*"というものを、書き込ませて、虚数解としたのですが、コンピュータで計算して一気に、〜iという解を得られる方法はあるのですか? M: なぜ ``虚数解'' という言葉が出てくるのだろうか ? ``i以外の数値'' ってなんだろう ? Fortran であつかうことができる数値にはどんなものがあったっけ ? h01s2015: 他のOS(Windowsなど)では、今やっているFortranのようなことはできないのですか? M: やればできるんじゃないの ? 私は Winsows でそれをやろうとは思いませんが。 h01s2016: 3.1の問題は虚数解まで表示すればいいんですか? M: 多くの人が言っているけど ``虚数解'' って何ですか ? h01s2020: プログラムを作成している最中に、急にemacsが閉じて、ターミナルに『セグメントエラー(coreを出力しました)』と表示されたことが以前から何度かあったのですが、セグメントエラーとは何なのですか? M: 一般にはプログラムが何か不正な処理をして, アクセス権のないメモリ領域を参照しようとしたときなどに発生します。宣言した大きさを越えて配列を参照しようとした時とかね。 h01s2021: a=0 のときもDの計算をして、解を出すのですがどうしたらよいでしょうか? M: それがあなたの意図したことならそれでいいのでは ? もし意図したことではないのなら, プログラムを意図どおりに修正すれば良いのでしょう。 h01s2022: exercies3-1や3-2にの冒頭あるCの意味は何なんですか? M: 文法書を参照してください。 h01s2023: 変数xがある範囲を移動するとき、きざみhを多数回足すと誤差が生じるとテキストにあったのですが、なぜですか? より正確な値が得られるのではないでしょうか? M: 表現誤差, 丸め誤差, 桁落ち など。逆に, なぜ ``より正確な値が得られる'' と考えたのでしょうか ? h01s2024: c−−−−−−−−−−−− は何を意味してるのですか? M: 文法書を参照してください。 h01s2026: ニュートンの頭の良さに驚くばかりです。 M: そうですか。でも提出物 (電子メール) が要件 (質問を含むこと) を満足していません。 h01s2027: 課題をより多くやったら、点数が上がるのか? M: もしもあなたが採点者だったらどうしますか ? h01s2028: 提出物についてですが、実行結果と説明の文章はメールに書くべきなんでしょうか?それとも、ワードで文章を作ってファイルに添付したほうがよいのでしょうか? M: 使う道具の制限事項はもうけていません。どのようにして作成すれば, *読みやすい* レポートになると, あなたは考えますか ? h01s2029: 虚数解の出し方がわかりません。ルートの中身に無理やりマイナスをつけて正の値として、あとから答えにiをくつけるやり方でいいですか? M: ここにもいた。``虚数解'' って何ですか ? 手順が論理的で, いつも正しい答えが得られるのであれば, 方法はなんでもいいのでは ? h01s2030: windowsよりもlinuxの方が数値解析に適しているとのことですが、それはなぜですか? 根本的な違いがあるのでしょうか? あと、MS-DOSとlinuxを比べた場合はどうなのでしょうか? M: OS としての信頼性が圧倒的に違います。例えば計算時間がとても長くかかる場合, その期間 OS はノンストップで稼働し続けなければいけません。あるプログラムがエラーで停止したときに, OS を道連れにしてはいけません。Windows なら良くあることですが, そんなことでは計算機を酷使する用途には使えませんね。 h01s2033: レポートとしての問題がなかなか難しく、質問しようがありません。 M: そうですか。でも提出物 (電子メール) が要件 (質問を含むこと) を満足していません。ちなみに質問は必死になって考え出すものであって, 自然とわき上がってくるものではありません。 h01s2034: fortranはこれからも進化し続けるのですか。 M: だぶんそうでしょう。 h01s2036: プログラムは一通りの書き方しかないのでしょうか。余分なものをつけたしている気がします。 M: いいえ。林檎を食べるために皮をむくむき方は一通りではありません。``余分なもの ...'' は何のことを言っているのか, これだけではわかりません。 h01s2037: プログラミングの最先端では今どのようなプログラミングが行われているのですか? M: なにを最先端と見ますか ? h01s2038: 判別式の解のプログラムを載せておきます。 他の解答がありました ぜひ、教えてください。 M: 二番目の文の意味がわかりません。なお提出物 (電子メール) が要件 (質問を含むこと) を満足していません。 h01s2039: ex3.1終わりました。 M: そうですか。でも提出物 (電子メール) が要件 (質問を含むこと) を満足していません。 h01s2042: 何かよい参考書があるなら、教えてください。 M: 読む人のレベルによって, どの本がふさわしいのかは違ってきます。自分でいくつかの本を見て, よさそうなのを選択し, その本の著者が推薦しているものもまた読んでみればいかがでしょうか。 h01s2043: 今exercise3-3をやってます。全部で五つ課題を解けばよいのですか? M: 授業時間中にも説明したし, Web ページに書いてあります。 h01s2044: 質問について、深くこだわるのは何故ですか? M: 質問を提出させる理由ですが, ``何がわからないかがわかれば, ほとんど解けたも同じ'' というアインシュタインの言葉からもわかる通り, 適切な問を発することが重要であって, 大学はそれを訓練する場所だと考えるからです。 h01s2047: exercise3の始めにある c は何なんですか? M: 文法書を参照してください。 h01s2048: 単語の意味は自分で覚えなきゃならないんでしょうか? M: 何の単語を指しているのかわかりませんが, 必要なら覚えれば良いでしょう。 h01s2049: exercise3-1終わりました。exercise3-4について、2つのものを比較しましょうとあるのですが、ただ打ったプログラムだけを送ればいいのですか? M: 設問では何を比べるように要求していますか ? それは ``ただ打ったプログラム'' ですか ? なおレポートとして何を送ればいいのかは Web に書いてあります。 h01s2052: Exercise3.3の X**n-a=0 の方程式を解くプログラムをつくりでコンバートはできましたが、解がどんな数字をいれても一定になるのはなぜでしょうか? M: もし方程式の解が別途もとめてある正しい答えに一致していないのならば, プログラムに誤りがあるのでしょう。 h01s2056: いまいち進みが遅いのですが、何かわかりやすい教科書等はありませんか? M: 読む人のレベルによって, どの本がふさわしいのかは違ってきます。自分でいくつかの本を見て, よさそうなのを選択し, その本の著者が推薦しているものもまた読んでみればいかがでしょうか。 h01s2057:Exercise3.1までやりました。虚数解の出し方は一応わかりました。有効数字の指定はどうやるのですか? M: どの段階での有効数字でしょうか ? 数値定数や変数の精度は用いる型で決まるし, 表示だけの問題なら FORMAT 文を使えばいかがですか ? h01s2059: 質問 D<0の時計算すると解がNANと出るのですが、NANの意味は何ですか? M: 先週の質問と回答の中で説明してあります。 h01s2064: 虚数の表示で、実部と虚部を別々に計算し、+、−、i と並べて表示させましたが、計算結果がそのまま複素数になる方法はないのですか? M: 複素数型の変数を用いるということですか ? h01s2065: 1問1問が、なかなか難しいです。回答は4問以上ということですが、それ以上の回答数によってよって評価に差はでますか? M: もしもあなたが採点者だったらどうしますか ? h01s2066: 虚数をcomplexで表せるような感じに書いていたんですがこのほかに必要なプログラムがあるんですか? M: 質問の意味がわかりません。何の目的に対して *必要* なのでしょうか ? h01s2067: わからないとこが口で言わないと説明できません。次回よろしくおねがいします。 M: 口で言う通りに文字で書けば文書になります。なお提出物 (電子メール) が要件 (質問を含むこと) を満足していません。 h01s2069: ex.3,1送ります。解が複素数のときの表し方をx=a+biというような表示にしたいのですが、どうすればいいんですか? M: そうするように write 文の入出力ならびを構築すればいいのではないでしょうか ? h01s2075: 2次方程式の虚数解がうまくできません。どうしたらうまくいくのですか。 M: ここにもいた。``虚数解'' って何ですか ? うまくとは具体的にどうしたいのですか ? その日本語での説明をそのとおりに Fortran 語で書けばいいのではないでしょうか ?