KS1/KS2読込用スクリプト”ksread”の使い方

KS1/KS2 読込用スクリプト”ksread” の使い方
本ツールは、数値演算ツール MATLAB の M-スクリプト機能を用い、当社専用データフォーマット形式
である KS1 および KS2 データファイルを MATLAB にて読込可能にしたものです。
1
動作環境
Intel 系 CPU を使用した PC で、MATLAB がインストールされた環境であれば動作可能。
2
インストール方法
1. MATLAB を起動後、メニューバーの [ファイル (F)] を選択し、[パスの設定 (H)] を選択します。す
ると、今現在設定されている MATLAB で有効なパスが表示されます。
2. 対象となる ksread.m というファイルを、このパスの通った場所に複写します。
例として、御使用の MATLAB のバージョンが 7.04(R14) であれば、以下のディレクトリに複写し
ます。
C:\Program Files\MATLAB704\work
3. 次に MATLAB のコマンドプロンプト上で、次のようにタイプします。
>> ksread
この様にタイプしてエンターキーを押した後、以下のような表示が出れば、ksread コマンドのイン
ストールは終了です。
1
2
3
使用方法
基本的には、MATLAB のコマンドプロンプトからの入力で操作を行ないます。入力例は、以下の通り
です。
X = ksread(’filename’);
X = ksread(’filename’,BlockNo);
[X,H] = ksread(’filename’,BlockNo);
X
H
filename
BlockNo (option)
···
···
···
···
先頭列に時間データを付加した、抽出したデータ配列
CH 情報
対象データファイル名 (拡張子も含める)
データブロック番号. データファイルの対象とするブロッ
ク番号のデータを指定. 無指定の場合、自動的に 1 番目
のブロックデータが対象となる.
以下の例では、X にデータ配列,H に CH 情報が読み込まれます。
読み込みに成功すると、コマンドプロンプトに集録 CH や CH 諸情報が列挙されます。読み込まれた
データは、Workspace に表示されます。
読み込まれたデータをグラフにて表示したい場合、Workspace 内の対象となる変数をマウスで選択して
ダブルクリックします。
3
以下は X、つまり読み込んだ集録データ部分です。
一方こちらは、集録 CH 情報です。
次に、この読み込んだデータをグラフ表示をさせて確認してみます。
Workspace よりグラフを表示させる場合、Workspace 内の対
象データをマウスで選択した後で、メニューバー内のアイコン
を選択すると、以下のように全データを表示させたグラフ
ウインドウが現れます。
4
あるいは、以下のようにコマンドプロンプトから、表示させたい集録 CH を指定してグラフ表示させる
事も出来ます。以下の例では、先頭列の時間軸を x とするので 1 を指定, 次に表示させたい CH を指定し
ています。この場合は最初の CH として 2 を指定しています。
>> plot(X(:,1),X(:,2));
5
4
注意事項
集録データで飛び CH が存在する場合 集録データで、集録していない飛び CH が存在する場合、
· · · ,CH20,CH21,CH22,***,***,***,CH26,CH27,· · ·
※:ここでは便宜上、***を読み飛ばし CH として表記
ksread で MATLAB にファイルを読み込む際、この集録されていない CH はその後に続く集録 CH
が前に詰める形で読み込まれます。
· · · ,CH21,CH22,CH26,CH27,· · ·
Array Editor での制限 MATLAB に読み込んだデータを、MS-Excel の様なスプレッドシート形式で数
値を確認したい場合、Workspace 内の対象データ変数を選択した後に、ツールバー内のアイコン
を選択する事で、Array Editor が起動します。
ですが、読み込んだデータのサイズによっては以下の様な表示が現れて、数値が表示されない場合
があります。
これは、Array Editor の制限で、Array Editor では 524288(219 ) 個迄の要素を表示することが出
来ます。仮に、たまたま選択したデータがこの制限より多く数値を格納していた場合、上記のよう
な事が発生します。
6
ファイルが読み込めない場合 膨大なファイルもしくは巨大なデータファイルを読み込もうとすると、以
下の表示が現れる時があります。
.
この例だと、このデータファイルを読み込むには 41000000 × 8ch × 4byte1 = 1312000000byte =
.
1, 3GByte のメモリ空間が必要となります。
この場合、以下の方法で使用可能なメモリ空間を確認してください。
ただし、以下の方法は MS-Window 系の OS にインストールされた MATLAB での手順です。
MATLAB 6.5(R13) の場合 • Mathworks 社の Web Site より、dumpmemmex.dll というファイ
ルをダウンロードしてパスの通った適当なディレクトリにコピーします2 。
• MATLAB のコマンドプロンプトに以下のコマンドを入力してください。
dumpmemmex
MATLAB 7.0(R14) 以降の場合 次のコマンドをコマンドプロンプトから入力してください。
feature(’DumpMem’)
すると、コマンドプロンプト上で色々と表示が出てきますが、その最後の行に注目します。
>> feature(’DumpMem’)
Module
=============================================
<anonymous>
<anonymous>
<anonymous>
Base
========
00010000
00010000
00010000
In Use
========
00001000
00001000
00001000
Free
========
0000f000
0000f000
0000f000
C:\Program Files\MATLAB704\bin\win32\MATLAB.exe 00400000
000d8000
00008000
7c800000
00131000*
0000f000
00010000
7d5b0000
00001000
007fd000*
0000f000
01943000**
00010000
00001000
========
17179000
0000f000
========
68e87000
···
···
C:\WINDOWS\system32\kernel32.dll
···
<anonymous>
C:\WINDOWS\system32\SHELL32.dll
···
<anonymous>
Totals
Largest available memory block is 427425792 bytes (407.63 MB)
located at address 11c40000
上記結果より、現在使用可能なメモリ空間は 407.63 MByte であることが確認できます。
1 集録データは
2 以下の
float, つまり 4byte データとして読み込まれます
URL よりダウンロードしてください. http://www.mathworks.com/support/tech-notes/1100/1106.html
7
また、Unix 系の OS を使用している場合は、free 等のコマンドを使いスワップメモリの使用状況
を確認してください。
メモリ空間をより多く活用するためには、以下の事が考えられます。
• 使用していない不必要なプログラムを終了させる。
• 使用 OS のスワップ領域を拡大させる。
• MATLAB も一旦終了して、再度起動させる。
• MATLAB を No Java モードにて起動。
そこで、サイバネット社のサイトでは、以下のような処置を施すように推奨しています3 。
メモリのスワップスペースの拡大ユーザのコンピュータにスワップスペースをどのように設定す
るかは、実行するオペレーティングシステムに依存します。
UNIX スワップスペースに関する情報を入手するには、UNIX コマンドプロンプトで、pstat -s と入
力します。スワップスペースの変更に関する詳細については、システム管理者に問い合わせてくだ
さい。
Linux スワップスペースは、mkswap と swapon コマンドを使って変更することができます。上のコマ
ンドの詳細は、 Linux プロンプトで、man と入力し、コマンド名を続けます。
Windows NT つぎのステップに従います。
1. マイコンピュータアイコンを右クリックし、プロパティを選択します。
2. パフォーマンスタブを選択し、変更ボタンをクリックして、仮想メモリの量を変更します。
Windows 2000 つぎのステップに従います。
1. マイコンピュータアイコンを右クリックし、プロパティを選択します。
2. 詳細 タブを選択し、 パーフォーマンスオプション ボタンをクリックします。変更ボタンを
クリックし、仮想メモリの量を変更します。
Windows XP つぎのステップに従います。
1. マイ コンピュータアイコンを右クリックし、プロパティを選択します。
2. 詳細 タブを選択し、パーフォーマンス設定ボタンをクリックします。
3. 変更ボタンをクリックし、仮想メモリの量を変更します。
上記の処置を施して、出来るだけ使用可能なメモリ空間を確保してください。
3 http://www.cybernet.co.jp/matlab/support/helpdesk/r14/toolbox/matlab/matlab
8
prog/ch per10.shtml#979572