2008-01-01から1年間の記事一覧

インターバル走

ウェーブスタジアム刈谷で夜間利用ができるのが今日が最後なので行ってきた。たぶん、稼働率を上げるための策なのだろう。どの程度利用されているのかわからないが、子供の陸上教室は盛況らしい。 スタジアムにはNHKの中継車が来ていた。明日のサッカー大会…

テンプレートの邪道な使い方

C++

例えば、メンバ関数を引数とする関数を使うとき、templateを使うと簡単に書ける。 #include using namespace std;class CInt { int n; public: CInt(int m) { n = m; } void print() const { cout };template void func(CInt *c, T f) { (c->*f)(); }int mai…

Bernoulli数(2)

ベルヌイ数がすごいところは、例えば、 B1000 = -18243104738661887254572640256857788 8793383368670429060521971581576411262572624911158657472 5773210697096154899246274955229080874882995394551887918 567582241551668492697244184914012242579830955…

Bernoulli数(1)

ベルヌイ数、またはベルヌーイ数。 http://ja.wikipedia.org/wiki/%E3%83%99%E3%83%AB%E3%83%8C%E3%83%BC%E3%82%A4%E6%95%B0 定義は2通りあるらしいが、Wikipediaと違う定義を使う。 右辺の分母を両辺にかけて整理すると、 これをきのう作った有理数クラスを…

有理数クラス

Pythonで有理数クラスを作ってみた。

出走するかもしれないレース等

開催日 大会名 場所 種目 締切 9/7 刈谷薄暮 ウエーブスタジアム刈谷 5000m 〜8/28 10/12 鈴鹿山麓かもしか 菰野町庁舎 10km 〜9/1 10/25 安城月例 安城市陸上競技場 5000m 当日 11/2 半田市民 半田運動公園 10km 〜9/18 11/9 安城月例 安城市陸上競技場 500…

オリンピック中長距離競技予定

競技予定とテレビ放映予定の一覧を作ってみた。 あとで修正するかも。 15(金) 10:00 女子800m予選 BS1 録(12:00〜?) 20:00 男子1500m予選 CX系 生 女子3000m障害予選 女子10000m決勝 16(土) 10:00 男子3000m障害予選 NHK 録(12:15〜、15:05〜) 男子…

mem_fun(2)

結局、 class CInt { int n; public: CInt(int m) { n = m; } void print() const { cout void print(int k) const { cout };となっていると、 CInt::printがどちらを指すのかわからないためにうまくいかないのだった。 しかし、こうするとわかるようである…

mem_fun(1)

以下は、VC2005EEで。 for_eachとmem_funを組み合わせると、コードが少し短くなる。 #include #include #include #include using namespace std;class CInt { int n; public: CInt(int m) { n = m; } void print() const { cout };int main() { const int n …

薄暮(ナイター)陸上記録会

先月に続いて1500mにエントリー。しかし散々だった。 先月と同じ女の子がいたが、その子には勝てない。もう一人女子高生がいたのでその子には勝とうと思った。 2周目までに2位に立って、ラスト1周にスパートしようと思ったが、思うようにいかない。ラストの1…

スペースの入力

C++

同僚からこのコンパイルエラーがわからないと言われて見てみて、それが全角スペースのせいだとすぐに気がついた。 そこで、VS2003で全角スペースを表示する機能がないかどうか調べてみたが、わからなかった。私はコードを書くときも(この文章を書いているの…

持久率

以前、「数学セミナー」だったかに、サブ3くらいの人はハーフのタイムを2.11倍するとフルのタイムになる、というようなことが書いてあった。 これが2倍だとすごい持久力で、2.4倍だとぜんぜん持久力がないことになる(私のことだ)。これが中長距離のどの距…

薄暮(ナイター)陸上記録会

今年もこの季節がやってきた。しかし、こんな日にかぎって最高気温34℃と暑い。といってもレースは6時過ぎからなのでその頃には涼しくなっている、というか3時でももうだいぶ涼しいように感じた。 公共バスで乗り込んで、しばらくアリーナにいて、3時を過ぎて…

Pythonをはじめてみる(9)

継承 固有値問題を解くために行列を定義したいが、その前にベクトルを定義したい。 ベクトルを表現するのにリストを使うと簡単だが、そうすると加算・乗算が、 a = [1, 2] print a + a # [1, 2, 1, 2] print a * 3 # [1, 2, 1, 2, 1, 2]となってしまう。これ…

事故発生の間隔(2)

1年365日に事故が7件起きるとして、事故が起きた日の最小間隔の分布を正確に知りたい。まず、考えやすいように、10日で3件起きる場合を考えよう。 第1の事故(時系列で「第1」と言っているわけではない)は最初の日に起きたと考えてよい。だから、全ての場合…

Visual Studioのステップ実行が遅い

C++

Visual Studio.net2003(VS)でステップ実行が、ある時期から恐ろしいほど遅くなった理由が、今日わかった。 ブレイクポイントを外すとき、いつも解除じゃなくて無効にしていた。そうすると、●が○になるので、あとで同じところにブレイクポイントをつけやす…

Pythonをはじめてみる(8)

ついでだから、Pythonでも書いてみよう。 import randomnRep = 100000 nDays = 365 nAcc = 7def calcMinInterval(): a = [ random.randint(0, nDays - 1) for i in range(nAcc) ] a.sort() min = nDays + a[0] - a[nAcc-1] for i in range(1, nAcc): interva…

事故発生の間隔(1)

ある工場では1年間に7件事故が発生する。あるとき事故が発生し、その7日後にまた事故が発生したとする。この間隔は非常に短く、非常事態と言えるだろうか。 工場は365日稼動している。また、周期境界、すなわち、1日目に発生していれば、366日目にも発生して…

薄暮陸上競技会

今年もウエーブスタジアム刈谷で行われる。 7/5、8/3、9/7。 一般は、100、1500、5000m。 目標タイムで組分けする。 今年は去年ほど走ってないので記録が期待できないけど、いちおう予定に。 ネットをさぐっても全然出てこないし、図書館とかにもチラシない…

Pythonをはじめてみる(7)

モジュール Galクラスができたので、それをgal.pyと名前をつけてファイルにする。 それを次のように利用する。 from gal import Gala = Gal(-4, -2, 3, 3) print a # (-4-2√3)/3 b = Gal(3, -1, 3, 3) print b # (3-√3)/3 c = a / b print c # (-9-5√3)/3 d …

Pythonをはじめてみる(6)

演算子のオーバーロード 例えば、「+」をオーバーロードするには、__add__メソッドを定義すればよかった。 class Gal: def __add__(self, a): ...a = Gal(-4, -2, 3, 4) b = Gal(3, -1, 3, 3) c = a + bそれでは、こんなことをするにはどうすればよいだろう…

Pythonをはじめてみる(5)

print こんなようなことをしたい。 a = Gal(3, 2, 3, 2) print aこれは、__str__という名前のメソッドを定義すればよい。http://www.python.jp/doc/release/ref/customization.html class Gal: def __init__(self, a, b = 0, c = 0, d = 1): self.a = a self…

Pythonをはじめてみる(4)

何がやりたいかというと、 の形の数を表すクラスを作りたい。 これを作るのに必要な要素を書いていく。 クラス名は「Gal」とする(Galoisの略)。 デフォルト引数 データメンバはa,b,c,dの4つとして、 Gal(1, 2, 3, 4)で、(1+2√3)/4を表す。その他に、 Gal(1…

Pythonをはじめてみる(3)

クラス 2次元のベクトルクラスを作ってみる。 class Vec: def __init__(self, x, y): self.x = x self.y = y def write(self): print "%d %d" % (self.x, self.y) def __add__(self, a): b = Vec(self.x + a.x, self.y + a.y) return b v = Vec(1, 2) v.writ…

Pythonをはじめてみる(2)

多倍長整数 PythonはPerlのbigintよりかなり速いらしい。Perlもモジュールをインストールすれば速いらしいが、めんどうなのでやらない。 320000を計算してみる。 # Perl use bigint;my $t0 = time; my $N = 20000; my $a = 1; for(my $i = 0; $i $a *= 3; } …

Pythonをはじめてみる(1)

今考えている問題は、どうもPerlには荷が重いようだ。 そこで、Perlのようにお気楽に書けて、クラスも作れるPythonをはじめてみる。Perlもクラスっぽいものが作れるようだが、C++ライクじゃないからよく分からないし、こういう数学の問題には演算子のオーバ…

六面体の頂点をたどる(10)

前回の分解を、もうちょっとちゃんと考えて、改良してみる。 a > 0として、 と分解できるとすると、 ここで、 と置くと、a3,b3は正だから、両方とも1〜a-1。 b3をその範囲で決めて、b1とb2も決まったとすると、 a1の2次方程式と見て、判別式は、 a = a3 + cb…

六面体の頂点をたどる(9)

次に、√2などの無理数の固有値に対する固有ベクトルを求める。 そのために、例えば、42+17√3を[42,17,3]と配列のリファレンスで表す。そうやってPerlで組んでみたが、動かなくなってしまった。 これは、約分ができないために、どんどん数が大きくなってしま…

六面体の頂点をたどる(8)

時間tのときの、六面体のどの点をすでに通ったかという状態の確率を求めるのに、漸化式を導出してそれを解くために固有値を求めて、それに対応する固有ベクトルを求めようとしているのだった。 今回は、そのうち、有理数の固有値に対応する固有ベクトルを求…

第36回刈谷市かきつばたマラソン大会(4)

結果から、参加者がどこから来ているのか調べてみた。 5kmと10kmの参加者813人である。 刈谷市181人 豊田市99人 安城市84人 名古屋市70人 岡崎市66人 大府市36人 知立市36人 碧南市32人 東浦町25人 豊明市24人 高浜市17人 幸田町 16人 西尾市 9人 東海市 9人…