2011/07/28

MATLABの演算子 .* って?

MATLABの演算子の前に . がついていることがある。

以下のように計算結果が異なる。
>> A=[1 2; 3 4]
>> B=[5 6; 7 8]
>> A*B
ans =
19 22
43 50
>> A.*B
ans =
5 12
21 32


A*B は通常の行列演算のため
A=[a b ; c d]
B=[p q ; r s]
の場合
A*B=[a*p+b*r a*q+b*s ; c*p+d*r c*q+d*s]
の計算が行われる。
上記の例では、
A*B=[1*5+2*7 1*6+2*8; 3*5+4*7 3*6+4*8]
A*B=[19 22 ; 43 50 ]

A.*B は行列の要素どうしの演算
A=[a b ; c d]
B=[p q ; r s]
の場合
A.*B=[a*p b*q ; c*p d*s]
のため上記例では、
A.*B=[1*5 2*6 ; 3*7 4*8]
A.*B=[5 12 ; 21 32]
となる。

2011/05/18

配列の要素どうしの積を求める方法

配列の要素どうしの積を求める方法

配列A、Bが以下の場合。

>> A
A =
1
2
3
4
5

>> B
B =
1 2 3 4 5


まずはrepmatで配列をそろえる

>> A2=repmat(A,1,5)
A2 =
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5

>> B2=repmat(B,5,1)
B2 =
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5


この状態で積を求めてみる。

>> A2.*B2
ans =
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25


欲しいのはこの対角線上の値。
そこで対角要素だけを抽出する。

>> diag(A2.*B2)
ans =
1
4
9
16
25


※以下、おまけ
単位行列を用意する。

>> eye(5)
ans =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1


単位行列を掛ける。

>> eye(5).*(A2.*B2)
ans =
1 0 0 0 0
0 4 0 0 0
0 0 9 0 0
0 0 0 16 0
0 0 0 0 25

2011/05/06

MATLAB:行列から指定した行,列の取出し方

■行の取出し
A(i,:) … m×nの行列A(2次元配列A)のi行目が取り出せる.
A(i:j,:) … m×nの行列A(2次元配列A)のi行目からj行目までが取り出せる.
A(i:k:j,:) … m×nの行列A(2次元配列A)のi行目からk行おきにj行目までが取り出せる.

■列の取出し
A(:,i) … m×nの行列A(2次元配列A)のi列目が取り出せる.
A(:,i:j) … m×nの行列A(2次元配列A)のi列目からj列目までが取り出せる.
A(:,i:k:j) … m×nの行列A(2次元配列A)のi列目からk列おきにj列目までが取り出せる.

2011/03/01

バッファプールキャッシュヒット率の確認方法

バッファプールキャッシュヒット率は一般的に90%以上が目安らしい。
以下の手順で確認する。

◆モニタースイッチをONにする
> db2 update monitor switches using bufferpool ON

◆スナップショットの取得
> db2 get snapshot for tablespaces on [DbName]

調査したい対象のスキーマ名を探して、
対象スキーマのバッファプール論理読取・物理読取から以下の計算式でキャッシュヒット率を算出する。

バッファプールキャッシュヒット率 = (1 - (バッファー・プール・データ物理読み取り/バッファー・プール・データ論理読み取り) * 100 (%)

※参考にしたサイト

2011/02/08

Linuxで時間がずれる

/etc/sysconfig/clock

BIOSの時刻設定がどうなっているのかを確認する。

/etc/sysconfig/clockファイルは、
システムクロックから読み込んだ値の解釈方法を制御する。
このため、/etc/sysconfig/clock が
"Asia/Tokyo"
UTC=false
ARC=false

となっている場合は、BIOSの時刻をそのまま利用する。

逆に、BIOS時間が世界標準時の場合はUTC=trueにする必要がある。

2011/01/19

DB2インスタンス状態の確認

インスタンスが起動しているかどうかを確認するには以下のコマンドを使う

> db2gcf -s -i [インスタンス名]
Instance : インスタンス名
DB2 State : Available

Stateは、
•Available: 指定のインスタンスの指定のパーティションは、 プロセスの対象として使用可能な状態です。
•Operable: このインスタンスはインストールされていますが、現在使用可能な状態ではありません。
•Not operable: このインスタンスは使用可能な状態にできません。
の3つだそうです。

参考

2011/01/13

Subversionのパスワード

Subversionのパスワードファイルは、
~/.subversion/auth/svn.simple/*
にプレーンテキストで保存されている。
リセットしたい場合は、ここにあるファイルを消す。