Qって? HTML5/MathMLを使って

HTML5/MathMLが使えるようになってきてるようなので、せっかくだから使ってみました。
やりかたは、いろいろ調べた結果、

LibreOfficeの数式で書く。
名前を付けて保存(.mmlで)。
それをmiで開く。
<mathなんたら>〜</math>の中味を<math>〜</math>内にコピペ。

でどうでしょう?
以下、過去記事で実験。MathMLが見られるブラウザ(Safari5.1,FireFox5.01で確認。Chrome12.0.742.122では×)で御覧ください。


で、Q=16ってことは、どのくらいの幅なの?
そもそも、Q=いくらと、なんとかoct.とどういう関係なの?
以下、ひさしぶりに勉強したので忘れないように備忘録。

中心周波数をFc,帯域の下限、上限の周波数をそれぞれF1,F2とすると、Qは
Q=FCF2F1Q = F_C over {F_2 - F_1}

  //Qの定義。

帯域幅をW(oct.)とすると
F 2 = F C 2 W / 2 F 1 = F C 2 W / 2 Q = F C F C 2 W / 2 F C 2 W / 2 = 1 2 W / 2 2 W / 2 F_2 " " = " " F_C " " * " "2^{W/2} NEWLINEF_1 " " = " " F_C " " * " " 2^-{W/2} NEWLINEQ " " = " " F_C over {F_C " " * " "2^{W/2} " " - " " F_C " " * " " 2^-{W/2}} newline" = " 1 over {2^{W/2} " " - " " 2^-{W/2}}

//WからQへの変換ができる

2W/22W/2=1Q2^{W/2}-2^{-W/2}=1OVERQ
x=2W/2x=2^{W/2} , a=1Qa=1overQ とすると

x1x=ax-1overx=a
x2ax1=0x^2-ax-1=0
x=a±a2+42x={a+-sqrt{a^2+4}}over2
x=2W/2>0x=2^{W/2}>0なので
x=a+a2+42x={a+sqrt{a^2+4}}over2
2W/2=a+a2+422^{W/2}={a+sqrt{a^2+4}}over2 //xを元に戻して
W/2=log2(a+a2+42)W/2=log_2({a+sqrt{a^2+4}}over2)
W=2log2(a+a2+42)W=2log_2({a+sqrt{a^2+4}}over2)
W=2(log2(a+a2+4)1)W=2(log_2({a+sqrt{a^2+4}})-1)
W=2log2(a+a2+4)2W=2log_2({a+sqrt{a^2+4}})-2
W=2log2(1Q+1Q2+4)2W=2log_2({1overQ+sqrt{1overQ^2+4}})-2 //aを元に戻す。QからWへの変換ができる。
W=2log(1Q+1Q2+4)log2 2W=2{log({1overQ+sqrt{1overQ^2+4}})}over{log2}-2 //底の変換。計算しやすいように。

Grapher.appでグラフを書いてみました。

グラフから直読すると、Q=15.9982でW = 0.0902(oct.) ≈ 1/11(oct.)だそうな。
約半音の幅ってことで。
あってます?

以上、過去記事終わり。ふう、疲れた。たくさん書くのはしんどい。

やってみてわかったのだが、このブログだとhtml編集モードでも改行が自動変換されてしまうので、改行を全部消さないといけない。
mi上で全検索して置換(消去)。

あと、やってるうちにLibreOfficeの文法が分かってきた。
Tips:
""でテキスト。
newlineで改行。
"="で行頭のイコール。
" ",{}で表示の微調整。すこし隙間が増える程度。

あんまりきれいにしようとするとMathMLを直接触る羽目に。やめたほうがいい。

コメント