メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

read

(非推奨) MDF ファイルからチャネルデータを読み取る

read 関数は推奨されておらず、将来のリリースで削除される可能性があります。代わりに mdfRead を使用してください。バージョン履歴を参照してください。

説明

data = read(mdfObj) は、MDF ファイル オブジェクト mdfObj によって識別される MDF ファイルからすべてのチャネルのすべてのデータを読み取り、出力を data に割り当てます。ファイル データが 1 つのチャネル グループの場合、出力は timetable になります。複数のチャネル グループは、timetable の cell 配列として返されます。cell 配列のインデックスは、チャネル グループ番号に対応します。

data = read(mdfObj,chanList) は、チャネル リスト テーブル chanList で指定されたすべてのチャネルのデータを読み取ります。

data = read(mdfObj,chanGroupIndex) は指定されたチャネル グループ内のすべてのチャネルのデータを読み取ります。

data = read(mdfObj,chanGroupIndex,chanName) は指定されたチャネルのデータを読み取ります。

data = read(mdfObj,chanGroupIndex,chanName,startPosition)startPosition で指定された位置からデータを読み取ります。

data = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition) は、startPosition から endPosition まで指定された範囲のデータを読み取ります。

data = read(___,Name=Value) は、オプションの名前と値のペアを使用して特定の関数の動作を指定します。

[data,time] = read(___,OutputFormat="Vector") は、チャネル データのベクトル 1 つと、対応するタイムスタンプのベクトル 1 つの 2 つのベクトルを返します。2 つの出力引数を持つこの形式の構文は、OutputFormat="Vector" の場合にのみサポートされます。

すべて折りたたむ

MDF ファイルから利用可能なすべてのデータを読み取ります。

mdfObj = mdf("MDFFile.mf4");
data = read(mdfObj);

変換ルールを適用せずに、最初のチャネル グループ内の指定されたチャネルから生データを読み取ります。

mdfObj = mdf("MDFFile.mf4");
data = read(mdfObj,1,"Unsigned_UInt32_LE_Primary_Offset_0",Conversion="None");
data(1:4,:)
ans =

  4×1 timetable

    Time     Unsigned_UInt32_LE_Primary_Offset_0
    _____    __________________________________

    0 sec                    0
    1 sec                    1
    2 sec                    2 
    3 sec                    3

チャネル リストの一部として指定されたチャネルの MDF ファイルから利用可能なすべてのデータを読み取ります。

mdfObj = mdf("MDFFile.mf4");
chanList = channelList(mdfObj) % Channel table
data = read(mdfObj,chanList(1:3,:)); % First 3 channels

指定されたチャネルの MDF ファイルから利用可能なすべてのデータを読み取ります。

mdfObj = mdf("MDFFile.mf4");
data = read(mdfObj,1,["Channel1","Channel2"]);

データ範囲を指定するために、startPositionendPosition のインデックスを使用して MDF ファイルからデータの範囲を読み取ります。

mdfObj = mdf("MDFFile.mf4");
data = read(mdfObj,1,["Channel1","Channel2"],1,10);

データ範囲を指定するために、startPositionendPosition の時間値を使用して MDF ファイルからデータの範囲を読み取ります。

mdfObj = mdf("MDFFile.mf4");
data = read(mdfObj,1,["Channel1","Channel2"],seconds(5.5),seconds(7.3));

MDF ファイルから利用可能なすべてのデータを読み取り、データと時間ベクトルを返します。

mdfObj = mdf("MDFFile.mf4");
[data,time] = read(mdfObj,1,"Channel1",OutputFormat="Vector");

MDF ファイルから利用可能なすべてのデータを読み取り、時系列データを返します。

mdfObj = mdf("MDFFile.mf4");
data = read(mdfObj,1,"Channel1",OutputFormat="TimeSeries");

channelList 関数によって識別されるチャネルからデータを読み取ります。

チャネルのリストを取得し、その名前とグループ番号を表示します。

mdfObj = mdf("File05.mf4");
chlist = channelList(mdfObj);
chlist(1:2,1:2) % Partial listing
  2×2 table

                ChannelName                 ChannelGroupNumber
    ____________________________________    __________________

    "Float_32_LE_Offset_64"                         2         
    "Float_64_LE_Primary_Offset_0"                  2

リストの最初のチャネルからデータを読み取ります。

data = read(mdfObj,chlist{1,2},chlist{1,1});
data(1:5,:)
  5×1 timetable

      Time      Float_32_LE_Offset_64
    ________    _____________________

    0 sec                  5         
    0.01 sec             5.1         
    0.02 sec             5.2         
    0.03 sec             5.3         
    0.04 sec             5.4

チャネル グループおよびチャネル メタデータとともに、MDF ファイルからデータを timetable に読み取ります。

チャネル グループ 1 から timetable に読み取ります。

mdfObj = mdf("File05.mf4");
TTout = read(mdfObj,1,IncludeMetadata=true);
TTout.Properties.CustomProperties
ans = 

CustomProperties with properties:

    ChannelGroupAcquisitionName: ""
            ChannelGroupComment: "Integer Types"
         ChannelGroupSourceInfo: [1×1 struct]
             ChannelDisplayName: [""    ""]
                 ChannelComment: [""    ""]
                    ChannelUnit: [""    ""]
                    ChannelType: [FixedLength    FixedLength]
                ChannelDataType: [IntegerSignedLittleEndian    IntegerUnsignedLittleEndian]
                 ChannelNumBits: [16 32]
           ChannelComponentType: [None    None]
         ChannelCompositionType: [None    None]
              ChannelSourceInfo: [1×2 struct]
              ChannelReadOption: [Numeric    Numeric]

入力引数

すべて折りたたむ

MDF ファイル (MDF ファイル オブジェクトとして指定)。

例: mdf("MDFFile.mf4")

channelList 関数によって返される形式のテーブルとして指定されたチャネルのリスト。

例: channelList()

データ型: table

読み取り元のチャネル グループを識別する数値として指定されるチャネル グループのインデックス。

例: 1

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

チャネルの名前。文字列、文字ベクトル、または配列として指定されます。chanName は、チャネル グループ内のチャネルの名前を識別します。複数のチャネルを識別するには、文字ベクトルの cell 配列または文字列の配列を使用します。

例: "Channel1"

データ型: char | string | cell

数値または期間として指定されるチャネル データの最初の位置。startPosition オプションは、チャネル データを読み取る最初の位置を指定します。インデックス位置を指定するには数値を指定します。時間位置を指定するには期間を使用します。endPosition オプションを指定せずに startPosition のみを指定した場合、その場所のデータ値が返されます。範囲を指定するために endPosition と組み合わせて使用すると、この関数は startPosition (包含) から endPosition (包含しない) までのデータを返します。

例: 1

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

数値または期間として指定されたチャネル データ範囲の最後の位置。endPosition オプションは、チャネル データの範囲を読み取る最後の位置を指定します。データの範囲の取得を指定するには、startPositionendPosition の両方を指定します。この関数は、範囲を読み取るときに、endPosition までの (ただし、endPosition を含まない) 値を返します。インデックス位置を指定するには数値を指定します。時間位置を指定するには期間を使用します。

例: 1000

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: Conversion="Numeric"

出力データの形式。文字列または文字ベクトルとして指定されます。このオプションは、次の表に従って出力をフォーマットします。

OutputFormat説明
"Timetable"

1 つ以上のチャネルからの timetable を 1 つの出力変数に返します。これは、複数のチャネルから同時に読み取る場合に許可される唯一の形式です。(デフォルト。)

メモ: timetable 形式には、MDF チャネルの変数が含まれます。変数タイトルは有効な MATLAB® 識別子である必要があるため、MDF オブジェクトの ChannelNames プロパティの値と完全に同じではない可能性があります。変数ヘッダーは、関数 matlab.lang.makeValidName を使用してプロパティから導出されます。元のチャネル名は、timetable オブジェクトの VariableDescriptions プロパティで使用できます。

"Vector"数値データ値のベクトルと、オプションで 1 つのチャネルから時間値のベクトルを返します。データのみを返す場合は 1 つの出力変数を使用し、データとタイムスタンプの両方のベクトルを返す場合は 2 つの出力変数を使用します。
"TimeSeries"1 つのチャネルから時系列データを返します。

例: "Vector"

データ型: char | string

MDF ファイル データの変換オプション。"Numeric""All"、または "None" として指定されます。デフォルトでは、mdf オブジェクトの Conversion プロパティで指定された値が使用されます。このオプションはその設定を上書きします。

  • "Numeric" — 数値変換規則のみを適用します (CC_Type 1-6)。数値以外の変換ルールを持つデータは、変換されていない生の値としてインポートされます。

  • "None" — 変換ルールを適用しません。すべてのデータは生データとしてインポートされます。

  • "All" — すべての数値およびテキスト変換ルールを適用します (CC_Type 1-10)。

例: Conversion="All"

データ型: char | string

MDF ファイルからチャネル グループとチャネル メタデータをそのデータとともに読み取ります。既定値は false です。メタデータは、OutputFormat"Timetable" として指定されている場合にのみ含めることができます。timetable を空にすることはできません。メタデータには data.Properties.CustomProperties からアクセスできます。

IncludeMetadata=true を指定すると、多数のチャネルを持つチャネル グループからデータを読み取るときに関数のパフォーマンスに影響する可能性があります。

例: IncludeMetadata=true

データ型: logical

出力引数

すべて折りたたむ

チャネル データは、OutputFormat オプションの値とチャネル グループの数に応じて、timetable、timetable の cell 配列、double のベクトル、または時系列として返されます。

チャネル データ時間。double 要素のベクトルとして返されます。時間ベクトルは OutputFormat="Vector" の場合にのみ返されます。

バージョン履歴

R2016b で導入

すべて折りたたむ