hypotの近似
数学は強くないので、変なところがあるかも。
hypot(x, y)とは、sqrt(x*x+y*y)のことだけども、xが正なら、以下のように変形できる。
sqrt(x*x+y*y) = sqrt((y/x)^2+1)*x
q=sqrt(k^2+1)は、k (つまりy/x) の値が大きくなるほど+1の要素が小さくなるため、kの値が大きくなるほどsqrt(k^2)=kに近づく。そこで、sqrt(k^2)-kとする。すると、曲線が残るので、定数/kの曲線で近似するため、Octaveで差を0に近づけるようにソルバーをかける (kの範囲はてきとう)。
octave:1> k = (0.01:0.01:100000); octave:2> q = @(n)max(sqrt(k.^2 + 1) - k - n./k)./k; octave:3> fsolve(q, 0.1) ans = 0.50000
すると、定数が求まるため、それを代入して、更に変形すると以下になる。
(y/x + 0.5*x/y)*x = y + 0.5 * x * x / y
と、ここまできて、既にstackoverflow.comに載ってることに気付いた。
For the record, here are a few more approximations, listed in roughly increasing order of complexity and accuracy. All these assume 0 ≤ a ≤ b.h = b + 0.337 * a // max error ≈ 5.5 %
h = max(b, 0.918 * (b + (a>>1))) // max error ≈ 2.6 %
h = b + 0.428 * a * a / b // max error ≈ 1.04 %
係数の違いを見て、限界を感じる。近似アルゴリズム本が欲しいなぁ。
# にしても、近所の本屋はどこも品揃えが悪くて、中身見て買う派の自分は困る。図書館の方がまだ揃ってるとか何かがおかしい気がする…。
nattyからの更新
久々でEOLギリギリ。代替品探すまではmateでいいかなぁ、oneiricで止めとくのもアリかもなぁ。
# sensors-appletとdrive mount applet相当のものは必須。あと周波数モニタもできれば。
# それとnautilusの「上へ」と、タブとextraペインも。
# エンブレム機能も使ってたけど、それはもういいや。
# そんなとこかな
unityもgnome-classicもダメだこれ。やっぱりmateかな。
mateも安定しなくてダメだな。パネルとウィンドウマネージャだけxfceを使うのが良さげな気がする。
gnome3のアプリは起動遅いし低機能なので、mateのアプリを使う。
mateのppa有効にして、mate-coreとmate-desktop-environment入れて、xfdesktop4とxfce-session入れて、cajaを自動起動するように。
エフェクトは少なくなったけど、キビキビ動くからOKかな。粗もあるけど、中々良い感じになった。次こそはmateに移りたい。
cajaで文字入力→上下選択ができないようになっている。タイムアウトがかかってる感じ。うーん、バグかなぁ?
cajaがランダムで再起動されるようにもなったし、何かおかしい。
バックアップ再考
今は壊れにくい2.5inch 1プラッタ1ヘッド 80G UATA (HTS541680J9AT00)を外部HDDとして使っているが、さすがに容量が足りないし古いしで交換したい。
# 未だに価格.comで上位に居るのは驚き
東芝の2.5inch 1プラッタ2ヘッド 500GB SATA (MQ01ABD050)で良いかな。消費電力がシーク時に1.85W。
容量と消費電力だけ見ると1TBのMQ01ABD100も良さげに見えるなぁ (プラッタとヘッドが増えるけど)。熱とホコリと衝撃にさえ気をつければ大丈夫か? 今一リスクの違いの大きさが見えない。そこまで大容量も必要ないし、500GBで良いかな。
ケースはざっと見GW2.5AI-SU2が良さげ (ギリギリサイズで熱伝導率が高い金属製)。でこぼこで表面積稼いで熱対流促していて、放射効率の良い黒色のやつも気になる。まぁ、足りなかったらクールスタッフ貼るなりヒートシンク付けるなりすりゃ良いけど、もっと消費者に判断材料を与えてほしいと思う。
衝撃を考えるとMIL規格のも捨てがたいが、放熱とほこりを考えると微妙な気がする。
■
><
■
><