11月11日

今日は11月11日ととても数字並びがきれいなことから,本日にちなんだ豆知識を紹介したいと思います.
11月11日(じゅういちがつじゅういちにち)はグレゴリオ暦で年始から315日目(閏年では316日目)にあたり、年末まであと50日ある。
日本では鮭の日(「鮭」という漢字が魚偏に「十一十一」と書くことから),ポッキー&ブリッツの日,電池の日(漢字で書いた「十一十一」が「プラス・マイナス・プラス・マイナス」に見えることから)などなど.(フリー百科事典『ウィキペディア(Wikipedia)』より)

「リーディング産業展みえ2008」

11月7(金),8(土)に四日市ドームでありました「リーディング産業展みえ2008」より,さらに前日の準備から片付けも含め,お手伝していただいた方お疲れ様でした.
皆さんのおかげで無事終えることができまして,ありがとうございました.

Rubyスクリプトの説明

以前配布しました“ファイル名data.rb”のプリントの説明をこれからしていきます.その際に行番号等と出てきますので,お持ちでない方は研究室の人はお持ちですので,コピーしてもらうなど入手してください.

平均値と標準偏差の計算

行番号54より,配列 xd=(x0,x1,…xn-1)を定義する.
以下より,平均値と標準偏差の計算
行番号55,すべて初期化を意味する.   ※注意することは整数と小数の区別→個数は整数,数値は0.0と表示

配列 xdの中身を調べる方法のコマンド
p xd.size
または
p xd.lengh

行番号55から,
パターンⅠ
mean = 0.0; stdv = 0.0; n = 0
xd.{each do |x|    ※“配列のすべての要素に順番に次のことを行う”の意味
  mean += x;
  stdv += x*x;   ※x*xはxの2乗の意味.またx**2でも可能.ちなみにxの3乗は,x*x*x=x**3
  n += 1}
end
パターンⅡ
mean = 0.0; stdv = 0.0; n = 0
n = xd.size
n.times do |i|
  mean += xd[i]
  stdv += xd[i]**2
  n += 1
end
mean /=n
stdv = sqrt(stdv/n - mean**2)
return[mean,stdv,n]
end  

相関係数の計算

相関係数とは,2つの確率変数の間の相関(類似性の度合い)を示す統計学的指標である.
今回のRubyのスクリプトで見ると
return (xy/n -x_mean*y_mean)/(x_stdv*y_stdv)
行番号9, 数学関数利用の指示

データ入手の仕方

CSVをノートパットで見ると,必要なデータは14行目から始まっているコトを踏まえ
file = "test.csv"
f = open(file)
13.times{f.gets}
array = []               ※配列を用意
while str = f.gets
 if /^2001/ =~ str      
  ※2001年からデータを用いる場合.2001年までのデータを用いる場合は下線部が/2001$/にする.
 x = str.chop.split(",")
 year = x[0].to_i
 rain = x[2].to_f
 temp = x[3].to_f
 array << [year,rain,temp]
end

本日のゼミは以上です.
次回(11月18日)はrubyによるバイナリのデータの扱い方です.

お疲れ様でした♪( ̄ー+ ̄)ニヤリッ

タグ:

+ タグ編集
  • タグ:
最終更新:2008年11月18日 03:36