2014-05-27

斉次線型方程式

定数項が0である斉次線型方程式について説明しました。

なお、教科書の答えは間違っていることもありますので、自分の計算と教科書の答えが違う場合は検算してください。
連立方程式ですので、解になっているかどうかは代入すれば分かります。

2014-05-26

未知数が3つの連立一次方程式を最後まで解く

今後の見通しを良くするために、今回の講義では使わない先の方のスライドまで一緒に載せています。

2014-05-20

連立一次方程式と階数

連立一次方程式において、解なしや解は無数になる条件を求めて、さらに解が無数の場合の解の自由度について説明しました。

2014-05-16

連立一次方程式

計算統計学の講義の中では順を追って作って行きますが、完成したものをすぐ使う場合のために載せておきます。
解が一組だけ存在する方程式用です。
最小二乗法の最適解を求める場合は未知数の個数と式の個数が一致します。
また最適値が一組でない場合は無数にあり、最適値がないということはありません。
そこでこのプログラムでは、一意に定まらない未知数は0とおくことで一組だけ求めるようにしています。
実際には行列式が0に近い時に一般逆行列を使ったほうが良いですが、そのような処理は入れていません。

Sub 連立一次方程式(係数(), 定数(), 解(), r)
Rem (c) 2014 Kaoru Fueda
Dim 係数行列() As Double, 最大値() As Double
Dim i As Integer, j As Integer, k As Integer, 最大行 As Integer, 最小行 As Integer
Dim temp As Double, 最大比 As Double, 最小値 As Double
ReDim 係数行列(r, r + 1), 最大値(r)
For i = 1 To r
  For j = 1 To r
    係数行列(i, j) = 係数(i, j)
  Next j
  係数行列(i, r + 1) = 定数(i)
Next i
Rem iはピボット
For i = 1 To r
Rem ピボット選択
  If i < r Then
    最大比 = 0
    最大行 = i
    For j = i To r
      最大値(j) = 0
      For k = i To r + 1
        If Abs(係数行列(j, k)) > 最大値(j) Then
          最大値(j) = Abs(係数行列(j, k))
        End If
      Next k
      If 最大値(j) > 0 Then
        If 最大比 < Abs(係数行列(j, i) / 最大値(j)) Then
          最大比 = Abs(係数行列(j, i) / 最大値(j))
          最大行 = j
        End If
      End If
    Next j
    If 最大行 > i Then
      For k = 1 To r + 1
        temp = 係数行列(i, k)
        係数行列(i, k) = 係数行列(最大行, k)
        係数行列(最大行, k) = temp
      Next k
    End If
Rem ピボットが0の場合は最も0=0に近い行を第i行に移動して、後に無視する
    If 最大比 = 0 Then
      最小値 = 最大値(i)
      最小行 = i
      For j = i + 1 To r
        If 最小値 > 最大値(j) Then
          最小値 = 最大値(j)
          最小行 = j
        End If
      Next j
      If 最小行 > i Then
        For k = 1 To r + 1
          temp = 係数行列(i, k)
          係数行列(i, k) = 係数行列(最小行, k)
          係数行列(最小行, k) = temp
        Next k
      End If
    End If
  End If
Rem ピボットを1に
  If 係数行列(i, i) <> 0 Then
    For k = i + 1 To r + 1
      係数行列(i, k) = 係数行列(i, k) / 係数行列(i, i)
    Next k
  Else
    MsgBox ("解けないので解の一つを0とします。")
Rem 本来は解ベクトルの長さが最小とすべき。
    For k = i + 1 To r + 1
      係数行列(i, k) = 0
    Next k
  End If
  係数行列(i, i) = 1
Rem ピボット以外を0に
  For j = 1 To r
    If j <> i Then
      For k = i + 1 To r + 1
        係数行列(j, k) = 係数行列(j, k) - 係数行列(i, k) * 係数行列(j, i)
      Next k
      係数行列(j, i) = 0
    End If
  Next j
Next i
For i = 1 To r
  解(i) = 係数行列(i, r + 1)
Next i
End Sub

2014-05-13

行列の基本変形

時間内に終わらなかった部分を削除し、講義中に思いついた説明上の修正を加えましたので、分かりにくかった人はもう一度見てください。

2014-05-12

別のプログラムの呼び出し

機能が明確でよく使うプログラムは、独立させて呼び出したほうが使いやすいので、その方法を説明します。

2014-05-09

掃き出し法

掃き出し法に慣れるために未知数、式がともに3つの連立一次方程式の解き方を説明しました。

2014-05-06

Fuji XQ-1のセンサーサイズ

FUJIFILM XQ1の仕様表を見ると、
センサーは 2/3型 X-Trans CMOS IIセンサー 総画素数1450万画素 なのに
記録画素数は [L]<4:3>4000×3000 で1200万画素しかありません。
X20も同じです。

中央部の2/3×√(1200/1450)≒1/1.65インチ部分しか使っていないのかな?と思い、実焦点距離と35mm判換算焦点距離の換算倍率を見てみました。
参考として1インチセンサーのソニーのRX100とも比べました。

機種実焦点距離換算焦点距離換算倍率
XQ16.4253.91
XQ125.61003.91
X207.1283.94
X2028.41123.94
RX10010.4282.69
RX10037.11002.70
RX100は縦横比が異なりますが、対角線の画角を見る限りでは影響を受けません。
RX100での換算倍率が約2.7倍、同じく1インチセンサーのNikon1も2.7倍で、3.91/2.7=1.45ですから、約1/1.45インチということで
実際に使っている部分の対角線長がRX100やNikon1の約2/3倍という事は間違い無さそうで、懸念していた1/1.65インチ部分しか使っていない、ということはなさそうです。
ならば何故総画素数1450万に対して記録画素数が1200万しかないのか?は分かりませんが、X20の海外のサイトを見ると12.0 million pixelsと2/3-inch X-Trans CMOS IIだけが書かれているので、1450万画素という数字は気にしなくて良さそうです。
恐らく2/3型の外側を含めた数字なのでしょう。

2014-05-05

Adblock Plus用追加フィルター

Webページに表示される広告を減らすために、FirefoxにAdblock Plusを組み込んでいます。
しかし最初から入っているフィルターだけではfacebookに表示される広告を消せませんし、日本独自の広告を消すためのABP Japanese Filtersを使うと、一部のブログでブログ内検索のためのgoogle検索窓まで消えてしまいます。

色々試してみたところ
fanboy-annoyances
https://secure.fanboy.co.nz/fanboy-addon.txt
を使うとfacebookの広告も消すことができ、日本独自の広告を消すにはABP Japanese Filtersの代わりに
fanboy-Japanese
https://secure.fanboy.co.nz/fanboy-japanese.txt
を使えばgoogle検索窓が消えないことが分かりました。

2014-05-04

HTC関連のメモ

shipped-roms出荷時のROMなど
HTC機を工場出荷状態に戻すRom Update Utility(RUU)の利用方法 (HTC速報Dev)RUUは上記サイトから機種に合ったものを入手します。
HTCのAndroid機共通のHBOOTからの操作について (HTC速報Dev)
HTC Jに関して
HTC J (ISW13HT) : VALENTE_WX (VAE_WX) (HTC速報Dev)
HTC J (ISW13HT) VALENTE_WX : Develop関連
HTC Butterflyに関して
HTC Butterfly (X920d) : DELUXE_UB1 (DLX_B1_U)
HTC J butterfly DELUXE_J : Develop関連
【誤報でした】au HTL21 HTC J butterflyのダウングレードが可能に、やってみた (HTC速報Dev)
PL99IMG_DLXB1_U_JB_45_hTC_Asia_WWE_1.12.707.1_R_Radio_3A.22.306.10_10.07.1060.04D_release_signed.zip
HTC Butterfly X920d (台版) 官方历次OTA和RUU 更新包

Latest HTC DriversHTCDriver_4.2.0.001.exeとHTC_BMP_USB_Driver_x64_1.0.5375.msiを入手
Get the Android SDK\sdk\platform-toolsにadb.exeやfastboot.exeがあります

電源設定で高速起動をOFFにして、電源を完全に切ります。
HTCDriver_4.2.0.001.exeとHTC_BMP_USB_Driver_x64_1.0.5375.msiをインストールしてSDKを解凍したパソコンと、USBで繋ぎます。
音量-ボタンと電源ボタンを同時に押してhbootに入ります。
音量±ボタンでFastbootに合わせて電源ボタンで選択してfastbootモードに入ります。
コマンドプロンプトで\sdk\platform-toolsに移って fastboot oem rebootRUU でRUUモードに入ります。butterflyの画面が黒地にHTCと表示されます。
fastboot flash zip rom.zip ←rom.zipは上で入手したRUU*.zip、あるいはHTC機を工場出荷状態に戻すRom Update Utility(RUU)の利用方法 (HTC速報Dev)に書かれた方法でRUU*.exeから取り出します。
終わったら fastboot reboot で再起動します。

現行バージョンのfirmware.zipと前のバージョンのRUUがあれば、
fastboot oem rebootRUU
fastboot flash zip firmware.zip ←現行バージョン
FAILED (remote: 90 hboot pre-update! please flush image again )というエラーメッセージが表示されたら
fastboot flash zip PL99IMG.zip ←前のバージョン
で、root化、S-OFFしなくてもダウングレード出来るらしいです。

個人的にはSense5以降のBlinkFeedよりSense4までのFriendStreamの方が使いやすいです。

直接は関係ないですがauのimap/smtpサーバアカウントを取得する