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

日本人の起源とY染色体

以前、ミトコンドリアDNAに夢中だったころ、自分のmtDNAを調べたりして、日本人の起源について自分なりの結論を出しました。 http://d.hatena.ne.jp/niming538/20071111 簡単に言えば、地球上に人類が分布したのは通常言われているよりタイムスパンが長く数…

数え上げ

0、1、2、3、4の5枚のカードから2枚を選んで並べ、2桁の数を作ります。次に、これらの2桁の数の中から1つを選ぶとき、1の位の数字と10の位の数字の差が1であるような数を選ぶ確率を求めましょう。 深川和久「ゼロからわかる確率・統計」より a=:i.5 NB.0、1…

樹形図

ABCDEの5人の中から、PTAの委員長1人と書記1人を抽選で選びます。ただし、委員長はAさん以外から選び、書記はBさん以外から選ぶものとします。 このとき、Cさんが委員長にならないでDさんが委員長か書記のどちらかに選ばれる確率を求めましょう。 ただし、あ…

コイントス

読んでいた本に、コインを5回投げて、オモテかウラが3回続けてでる確率は1/2と書いてありました。これをJ言語で確認してみました。 +/ +./"1 (0 0 0 E."1 (#: i.32)) 8 えっと、#:(シャープコロン)は右側引数を0と1の二進法のベクトルに変換しますので、#:i.…

円周率の計算(マチンの公式)

円周率の計算にマチンの公式というのがあって、次のようなものです。 J言語にo.(オードット)という動詞があって、左側引数の数字でサインとかコサインとかが計算されます。ボキャブラリーを見ると、数字の7をつけるとアークタンジェントの計算ができるらしい…

連立一次方程式

クラメールの公式により、J言語を用いて連立一次方程式を解く。 NB. 3x + 2y = 4 NB. 5x + 7y = 3 ]a=:2 2$3 2 5 7 3 2 5 7 ]b=:4 3 4 3 -/ . * a NB.aの行列式determinantを求める 11 ]x=: ( (-/ . *) b ,. 1{"1 a) % 11 2 ]y=: ( (-/ . *) (0{"1 a) ,. b) …

オイラーの公式

前述のエアハルト・ベーレンツ「5分でたのしむ数学50話」の第18話に最も美しい公式としてオイラーの公式が書かれています。 自然対数の底を複素数と円周率の積乗したものはマイナス1ということらしいのですが、これをみながらつらつら考えています。 自然対…

1001の素因数分解

エアハルト・ベーレンツ「5分でたのしむ数学50話」の最初の話が、3桁の整数を2回並べた数字(たとえば761761)が7で割り切れるという話です。これは1001を素因数分解すると7x11x13というところからきています。 さて、まず、101から初めて1000000001とかがどう…

スクリーンへのアウトプット(質問)

APLのテキストを読んでいると、スクリーンに一連のアウトプットを出すようなプログラムがあります。 ▽CHECK [1] A←10 45 23 68 [2] 'MAX : ' , ": >./ A [3] 'MIN : ' , ": APLの文字がない分はJ言語の記号でごまかしましたがこんな感じ。これをJ言語でやろ…

中国語基本音節表

以下の記事、間違いが見つかったので研究中です。 - 中国語基本音節表で中国語の音節は405個あると言います。むかし習いたてのころ数えてみたのですが、最近あやしいと思い数えなおしました。数えるためにまずはエクセルのものがないか探したところみつから…

倉橋由美子

倉橋由美子の夢をみた。なんで彼女は死んでしまったのだろう、と夢の中で思ったという程度の夢なのですが、今日の日経の文壇往来にいま女性作家たちによって再評価されていると書かれていた。むかーし読んで面白かったのに、いまではその多くが絶版で、生き…

APL/J言語の記事置き場

最近、J言語に夢中で、J言語についてばかり書いていますが、これでは日記の意味がなくなりつつあるので、ちょっと工夫です。 はてなは過去日付で書けますので、今後2001年2月あたりにまとめて書くようにします。 APLやJ言語は数学に近くて、概念をどのように…

FizzBuzz完成品

わたしとしての完成品を書いておきます。 ボックスから出す必要はないと思うのでその分短くなっています。 結果の表現は10 x 10の表にします。 Windows版のJ602での結果です。 - FizzBuzz=: 3 : 0 (FizzBuzz') (:i.y ) 10 10$FizzBuzz 100 +----+----+----+-…

APL/J言語でFizzBuzz(つづき)

J言語でFizzBuzz(http://recompile.net/2007/05/jfizzbuzz.html)というところに、satzeさんが - 例えばこんなのどうでしょうか? ' ' (('|' E. B) # i.#B) } B=.}.}:1{":(FizzBuzz') (:i.100 (1行)もしくは, FizzBuzz=: 3 : 0 ' ' (('|' E. B) # i.#B) } …

E.(メンバーオブ)

J言語にE.(メンバーオブ)という動詞があって、配列の中の配列の位置を返します。0なら「なし」で、1が有り。なぜ大文字のE.(大文字イードット)かと言うと、数学の記号の∈(含む含まれる)というのに似ているからでしょうか。 'co' E. 'cocoa' 1 0 1 0 0 という…

FizzBuzz問題の解説と感想

昨日の記事でJ言語でFizzBuzzをやりました。はっきり言って難しかった。配列で考えること自体は慣れの問題だと思うのですが、ボックスがやっかい。じつはずいぶん試行錯誤をしました。 1;2;'Fizz';4;'Buzz';6;7 +-+-+----+-+----+-+-+ |1|2|Fizz|4|Buzz|6|7|…

APL/J言語でFizzBuzz

FizzBuzz問題というのがあって、1から100までの数字で3で割り切れる場合は'Fizz'、5で割り切れる場合は'Buzz',15で割り切れる場合は'FizzBuzz'、その他はそのままの数字をアウトプットせよ、というのだったと思う。APLやJ言語で解いた例もないわけではないの…

移動平均

移動平均とはたとえば月次データが何年分か溜まった後に大きな傾向を見るために6か月平均とか12か月平均とかを1月から12月、2月から翌年1月、というように対象期間を移動させながら計算していくものです。年度合計の比較でいいじゃないか、と思いがちですが…

|.(たてぼうドット)

APLでは丸にたてぼうやよこぼうの配列を逆順にしたり(reverse)、回転したり(rotate)、シフトしたり(shift)する動詞(関数)があります。 これがJ言語では|.(たてぼうドット、パイプラインドット)の役割です。また、前回紹介した"(クオート、ランクコンジャンク…

,(カンマ)

APLでもJ言語でもデータを結びつけるのは,(カンマ)という動詞(関数)です。配列を連結するにはいろんなレベルの連結が考えられますが、J言語では"(クオート、ランクコンジャンクション、ランク接続詞)を使うことにより、若干わかりやすくなっています。 'abc'…

MMLの続き

こぎつねこんこん l8 cdefg4g4 af<c>ag4r4 af<c>ag4r4 gffffeee ededceg4 gffffeee eddec4r4 聖者が街にやってくる l8 r2r8cef g2r8cef g2r8cef g4e4c4e4 d2r8eed c2e4g4 gf&f4r4aa g4e4c4d4 c2.r4 げんこつやまのたぬきさん aa8.a16a8.a16b a8.g16e8.e16e2 aggg a</c></c>…

円関数

下の表現わかりますか? J言語です。 1 o.o.%3 0.866025 2 o.o.%3 0.5 o.1は3.14159ですなわち(パイ)です。 %3は1÷3の意味ですなわち0.333333です。 ということはo.%3はです。 一方、1 o.はsin(サイン)、2 o.はcos(コサイン)ですので、上記の結果になります…

対数

2の3乗というときふつうの言語では2^3というように^(キャレット、べき乗)を使います。J言語でも^(キャレット)です。APLではこれが★(アスタリスク)で2★3のように書きます。さて、J言語の^(キャレット)を単項動詞として使うとどうなるか。 ^1 2.71828 どこかで…

関数の定義

西川利男の本でAPLのユーザ定義関数作成の例がありました。 ▽TEST1 X 'TOTAL:' +/x 'AVERAGE:' (+/X)÷(ρX) ▽ これをこのままではJ言語では動きませんでした。とりあえず動くものを作ったのが下記のリストです。 test1 =: 3 : 0 2 2 $ 'total'; (+/y) ; 'aver…

連立方程式

APL/J言語で単純な連立方程式を解く場合は、%.(パーセントドット、Matrix divide, Matrix inverse)を使います。 2x + 3y = 3 4x - 2y = 14 a 2 3 4 _2 b 3 14 b %. a 3 _1 というわけでxは3、yは-1です。これでは解説になってませんね。この逆行列を求める動…

成績計算

西川利男の本からですが、生徒ごとの平均点、教科ごとの平均点、総平均点を求めます。 +-+------------------+ | |国 数 英 理| +-+------------------+ |A|72 68 80 71 | |B|65 57 75 62 | |C|63 48 78 68 | |D|80 62 73 65 | |E|58 66 72 70 | |F|90 88 80…

APL/J言語で標準偏差

以前TOEICを受験したことがありまして、なんと975点という高得点でした。で975点がどんな点かというと、受験した第138回の発表によると、平均586.1点、標準偏差が171.8点とある。平均と標準偏差を与えられると、偏差値が計算できて、「計算式: 偏差値 = (10…

APL IS HAPPY

西川さんの本の3ページ目に ******************************* * * * APL IS HAPPY APL IS HAPPY A * * PL IS HAPPY APL IS HAPPY AP * * L IS HAPPY APL IS HAPPY APL * * IS HAPPY APL IS HAPPY APL * * IS HAPPY APL IS HAPPY APL I * * S HAPPY APL IS HA…

絶対値

APLの入門書を読んでいたら絶対値の話があってxの絶対値というときに、|x|とは書かず、|xと書くというような説明がありました。そう言えば、J Primerで絶対値Absoluteという話はなかったなぁ、と見てみたら、|(たてぼう)はMagnitudeマグニチュードという名称…

日本語の本

アマゾンでしらべたら、下記の2冊が新品で手に入ります。基礎からのAPL―解説と例題例解 西川 利男 初めて学ぶAPL (情報処理入門シリーズ) 橘川 孚、宮崎 正俊、 宇土 正浩ほんとはJ言語の本も欲しいのですが、電子データが充実してしまうとかえって入門書が…