x軸の値を表記転換するには?
Mostrar comentarios más antiguos
ファイルのデータから日時情報を取り出し、グラフのx軸に設定するにはどうすれば良いでしょうか?
下記の質問の補足になります。
下記プログラムで、出したグラフを添付します。 ①10/13 0:00-23:59、②2016/10/15 13:00-13:10
このグラフは
x軸がデータ番号となっており、 データ数:512個で、最初の100個は背景光(無視)、 100番目が0[m]になります。
距離分解能は、15[m]なので、
#0~99 Background
#100 0[m]
#101 15[m]
#102 30[m]
....
#200 1500[m]
...
#500 6000[m]
..
#511 6165[m]
end となります。
そこで、 1.x軸について、データ番号から観測距離[m]に表記変換したい。 データ番号を100からスタートさせ、100→0,101→15,102→30 と表記を変更したい。 2.データセットが4つあるうちの、2,4番目のみ取得して、グラフに表示させたい。
の方法をお聞きしたいです。よろしくお願い致します。
if true
% code
end
DebugFiles = 'C:\Users\aboken\Documents\MATLAB\161015\*16A1513.0*';
%指定フォルダ内のファイルをリスト化 日にち指定
D = dir(DebugFiles);
% ファイルオープン
fid=fopen(D(i).name);
% ヘッダー読み込み
for k = 1:3
headers{k} = fgetl(fid);
end
% データセットの数を取り出し
third_header = sscanf(headers{3},'%f');
num_datasets = 4third_header(end);
% データセットのヘッダーを読み込み
datasetheader = {};
for k = 1:num_datasets
datasetheader{k} = fgetl(fid);
end
fread(fid,2,'uint8') % Read CRLF=13d 10d
% データセットのヘッダーに記載されたデータ分バイナリデータを読み込む
data = {};
for k = 1:num_datasets
dataheader_parsed = sscanf(datasetheader{k},'%d');
num_read = dataheader_parsed(4);
[data{k},cunt] = fread(fid,num_read,'long');
fread(fid,2,'uint8'); % Read CRLF=13d 10d
end
% データファイルのクローズ
fclose(fid);
% 行列に整形(各データの数が同じ場合は成功)
DataMat = [data{:}];
plot(DataMat)
hold on
end
5 comentarios
時系列のデータが用意できれば plot 関数で対応可能なんですが、、取り扱っているデータに明るくないのでかなりの難題になっています。
データ数:512個で、最初の100個は背景光(無視)、 100番目が0[m]
と説明して頂いてますが、データ番号と日時には何らかの関係がありますか?
今回添付して頂いたのは、
- x軸:データ番号
- y軸:フォトン数(光子数)
を複数のデータファイル(複数の日付)から取得して重ね書きしたものと解釈していますが、新たに日時をx軸に設定した場合、、y軸は何になりますでしょうか?
x軸はデータファイルのこの部分、y軸はデータファイルのこの部分を使いたい、など明示的に指示頂ければ理解できるかもしれません。
Jiro Doke
el 3 de Ag. de 2017
michio さんの言う通り質問がよく理解できません。現在のXデータの単位は [m] のようですが、Xデータを時間にしたいという理解でよろしいでしょうか。その場合の [m] と時間の関係性が分かりません。
手書きの図(スキャン)でもいいので、期待している図を見せていただけると分かりやすいのですが。
nknknknk
el 3 de Ag. de 2017
Jiro Doke
el 4 de Ag. de 2017
お手数ですが、もとの質問を上記の正しい質問に書き換えていただけますか?nknknknkさんのアイコンの下に「Edit」というリンクがあるので、そこから修正してください。とりあえず回答は下にしておきます。
nknknknk
el 4 de Ag. de 2017
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre 行列および配列 en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!