1/12 パターン認識(2)


前回までの補足


試験について


授業アンケート

授業アンケートを実施します.授業IDは8366です.

前回の感想,質問より

Q.
夏学期の線形代数のテストの時に使いたかった.
A.
テストの時にはコンピュータを使うことはできませんが,今後研究,学習 の上で線形代数を扱う時は,コンピュータを使うことが多くなると思います. 行列を自然に扱えるツールは,Mathematica, Matlab, R等さまざまあり,今回の ようにプログラムで連立一次方程式を解く必要に迫られることはないと思います が,原理を覚えておくと便利です.
Q.
gj(a)を実行するとaが壊れてしまうので,b=aとして取っておいてから, gj(a)を実行したが,そのあとbを見たらbも壊れてしまっていた.
irb(main):001:0> a=[[1,2],[3,4]]
=> [[1, 2], [3, 4]]
irb(main):002:0> b=a
=> [[1, 2], [3, 4]]
irb(main):003:0> a[0][0]=0
=> 0
irb(main):004:0> b
=> [[0, 2], [3, 4]]
のように再現できる.
A.
Ruby言語ではaが配列の時,b=a はaの配列のコピーを作成してbに入れるのでは なく,bとaが同じ配列を指すようにします.中身のコピーを作るには,b=a.dup() とすれば良いのですが,aが2次元配列の時は,これでは不十分で, b=a.map{|v| v.dup()} とする必要があります.
irb(main):001:0> a=[[1,2],[3,4]]
=> [[1, 2], [3, 4]]
irb(main):002:0> b=a.map{|v| v.dup}
=> [[1, 2], [3, 4]]
irb(main):003:0> a[0][0]=0
=> 0
irb(main):004:0> a
=> [[0, 2], [3, 4]]
irb(main):005:0> b
=> [[1, 2], [3, 4]]
のようになります.ただ,この書き方は講義の範囲を超えているので扱いませんでした.
 
Q.
Pivotingを行っても、xの解が0.999999999999999となりました。 教科書では1.0となってました。なぜですか。
A.
Pivotingを行うと誤差が小さくはなりますが,0になるわけではありません. 1.0が0.999999999999999になるということは有効数字15桁はあるので,倍精度実 数の有効数字からほとんど落ちていないということになります.一方,Pivotingを おこなわない時は有効数字の桁数が大幅に落ちてしまうことがあります.
Q.
ところで、ネットのレンタルサーバを見ていると、rubyが使えるようですが、具体的にはどのような用途で利用 されているのでしょうか。
A.
Ruby言語でWebアプリケーションを書くことは良く行われていて,特に Rubyで書かれたWebフレームワークでは Ruby on Rails がよく使われています. Web上のアプリケーションを作ってみるというのは,講義の範囲を超えています が,自分でRuby on Railsを使ってみる必要が生じた時は,講義でのRubyの 使用経験が生きてくると思います.
 

前回の課題について

投票システム

vote.rbをダウンロードして,ホームディレクトリに保存してください.ドックからターミナルを起動して,
ruby vote.rb 選択肢番号
のように使います.

今日の練習,投票

関連リンク


教科書の補足


今日の課題