複数の観測データ(生データ)のモデリングが出来なくて困っています。
まず観測データとして、1つのディレクトリ「161004」、
e16A0400.004462 2016/10/04 0:00 e16A0400.014596 2016/10/04 0:01 e16A0400.024789 2016/10/04 0:02 ・・・
という風に、10/4に1分ごとに記録された生データファイルが並んでいます。
この「161004」ディレクトリ内の生データファイルを一つの図にモデリングをしたいのですが、
説明を読んでも掴めなく、アドバイスをお願いしたいです。
例えば、一つの生データファイル
「e16A0319.272413」
の中身を表示すると、
e16A0319.272413 03/10/2016 19:26:23 03/10/2016 19:27:24 0000 0000.0 0000.0 00 0000000 0010 0018952 0010 04 1 0 2 00512 1 0000 0015 00829.o 0 0 00 000 12 150024 0.020 BT1 1 1 2 00512 1 0000 0015 00829.o 0 0 00 000 00 150024 3.1746 BC1 1 0 2 00512 1 0000 0015 00829.o 0 0 00 000 12 150023 0.020 BT1 1 1 2 00512 1 0000 0015 00829.o 0 0 00 000 00 150023 3.1746 BC1 邪ラ。ラシゥラOォラそラa泰ラL釐!TリラヨZラョェラ㌘ラtKラTxラ%rラ晗o蹟( ラ・ラュラソCラ 碩>槞遞ラM泰%ャラキラCコラdコラ・ラマララララ=・"ョfリツリタリリVリN/リコ4リ6DリDHリVリリDリヒ_リラaリjリYnリヲyリ|リ>リヲ筋X筋ト娩壓s」リ。「リgゥリッリyッリ┝リクチリソリ捨リ橆リH籀 ゚リチ袙、毖・リハ."ルYル-ルナル ルア'ルI2ルト6ル・ル・ルカ@ル'Jル祟ルxVル輯ル(cルjdルナiルHlルjルoルョtルモgルミpルnル+uル`pル綠ル2・ツEj\MソMS・果_ッ・Xオ・T-適・A」・s=FC>輅筋フfヘナシk・u%dロ0ヨа4ヒセ・ヲ ・・・・・・・・・・・・・・・・
と表示されます。
①プログラムで、1分おきの1つのファイルは読み込めました。
②プログラムで「161004」ディレクトリ内の生データファイルを一つの図にモデリングをするにはどのような修正が必要でしょうか。エラー表示も記載します。
また、③は生データの構造とデータフォーマットです。
①1つ(1分間)の生データ読み込みプログラム fid =fopen('e16A0319.272413','r+'); for i = 1:8 header = fgetl(fid); end % 各データセットの読み込み data = cell(1, 4); for i = 1:4 data{:,i} = fread(fid, 512, 'unsigned long'); % <CRLF> の読み飛ばし if i ~= 4 fread(fid, 2, 'short'); end end fclose(fid); plot(data{1,4})
②「161004」ディレクトリ内の生データファイルを一つの図にモデリングをする D=dir('C:\WORK\161024'); for k=1:length(D) fid =fopen('D(k).name','r+'); for i = 1:8 header = fgets(fid); end % 各データセットの読み込み data = cell(1, 4); for i = 1:4 data{:,i} = fread(fid, 512, 'unsigned long'); % <CRLF> の読み飛ばし if i ~= 4 fread(fid, 2, 'short'); end end fclose(fid); plot(data{1,4}) hold on D=dir(DebugLocation); %} end ②エラー エラー fgets ファイルの識別子が無効です。有効なファイルの識別子を生成するには fopen を使用してください。 エラーの発生場所 higoto (line 10) header = fgets(fid);
③生データファイルの構造 固定ヘッダ行1 固定ヘッダ行2 固定ヘッダ行3 データセットヘッダ行1 データセットヘッダ行2 データセットヘッダ行3 データセットヘッダ行4 データセット1 (512x4バイト) <CRLF> データセット2 (512x4バイト) <CRLF> データセット3 (512x4バイト) <CRLF> データセット4 (512x4バイト)
③Licel生データフォーマット Licelロゴ 2最後の文字がどこにあるか\ noindentヘッダ行(ASCII形式)は、80文字の長さを有しています<CRLF>。ヘッダー行は、バイナリ形式のデータが続いています。最初のヘッダ行は、ファイル名が含まれています、 その文字で始まります。 世紀の年を示す2桁の数字 月(16進1桁)、 日(小数点以下2桁)、 時間(10進数、1日24時間、2桁)、 ピリオド(。)、 分(小数点以下2桁)、 秒(小数点以下2桁)、 秒の最初の小数点以下2桁(10進数、2桁)。 2番目のヘッダー行には、システムに関する情報が含まれています: 測定部位(8文字)、 測定開始時刻(日/月/年は、hh:mm:ssの)、 測定終了(日/月/年は、hh:mm:ssの)、 海抜高度(4桁(メートル))、 経度(を含む4桁の数字( - 記号)小数点以下のグレードのための1桁。) 緯度(を含む4桁の数字( - 記号)小数点以下のグレードのための1桁。)。 天頂角(度で2桁) 第三のヘッダ行で タイプ1のレーザのレーザショットの数(整数7桁)、 1型レーザ(整数5桁)の繰り返し率、 2型レーザのレーザショット数(整数7桁)、 2型レーザー(整数5桁)の繰り返し率 そして、次のデータセット(整数2桁)の番号が与えられています。 3型レーザのレーザショット数(整数7桁)、 タイプ3のレーザの繰り返し率(整数5桁) データ・セットに固有のヘッダ行が含まれています。 データが(アクティブセット1/0)。非アクティブなデータセットが書き込まれません。 光子計数Iアナログ(1/0) レーザーの種類(1/2) データポイントの番号(5桁) 人数、個数、総数 1 PM(V)の高電圧(ボルトで4桁の数字) ビン幅(メートル単位で小数点記号(。)および小数点以下を含む4桁) nm単位の波長(nm)、5桁の数字はピリオド(。) 偏光状態0 - なしのp - 並列秒 - 垂直 0 0 (後方互換性) ビンシフト、全体数(プライマリビン、整数は、2桁の数字を切り捨て 00 サポートまたはゼロではない場合) ビンシフトの小数点以下の桁(3桁、 000サポートされているか、ゼロでない場合) ADCのビット数(2桁) ショット数(6桁) 弁別レベルまたはADC(1桁の期間のデータ範囲4/3の数字) デバイスidentificator(BT=アナログデータセット、BC=光子計数は、数は16進数で過渡現象記録装置のアドレスです) ヘッダ行が続いている<CRLF>とによって分離された32ビット・データ・セット<CRLF>。データセットは、アナログ信号の場合、ショット数、さらにビット数およびデータ範囲を使用して物理単位と量に変換することができます。この手順で実行されます。
足りない情報等あるかもしれませんが、よろしくお願いします。
ここはやりたいことを丸投げする場ではありません。最低限自分でやってみる努力は必要です。間違っていてもいいですから自分で書いてみたらどうですか?
○○をするために○○が必要で、○○をしようとしているけど○○が出来ないって書いてくださると回答しやすいと思いますよ
あなたの回答
tips
プレビュー