このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
struct2table
構造体配列のテーブルへの変換
説明
例
スカラー構造体のテーブルへの変換
既定のオプションを使用してスカラー構造体をテーブルに変換します。
構造体配列 S
を作成します。
S.Name = {'CLARK';'BROWN';'MARTIN'}; S.Gender = {'M';'F';'M'}; S.SystolicBP = [124;122;130]; S.DiastolicBP = [93;80;92]; S
S = struct with fields:
Name: {3x1 cell}
Gender: {3x1 cell}
SystolicBP: [3x1 double]
DiastolicBP: [3x1 double]
スカラー構造体配列 S
には 4 つのフィールドがあり、各フィールドが 3 つの行で構成されています。
構造体配列をテーブルに変換します。
T = struct2table(S)
T=3×4 table
Name Gender SystolicBP DiastolicBP
__________ ______ __________ ___________
{'CLARK' } {'M'} 124 93
{'BROWN' } {'F'} 122 80
{'MARTIN'} {'M'} 130 92
S
の構造体のフィールド名が、出力 table では変数名になります。T
のサイズは 3 行 4 列です。
table プロパティ T.Properties.RowNames
を変更してから、変数 Name
を削除して、 Name
を変数名から行名に変更します。
T.Properties.RowNames = T.Name; T.Name = []; T
T=3×3 table
Gender SystolicBP DiastolicBP
______ __________ ___________
CLARK {'M'} 124 93
BROWN {'F'} 122 80
MARTIN {'M'} 130 92
非スカラー構造体配列のテーブルへの変換
非スカラー構造体配列 S
を作成します。
S(1,1).Name = 'CLARK'; S(1,1).Gender = 'M'; S(1,1).SystolicBP = 124; S(1,1).DiastolicBP = 93; S(2,1).Name = 'BROWN'; S(2,1).Gender = 'F'; S(2,1).SystolicBP = 122; S(2,1).DiastolicBP = 80; S(3,1).Name = 'MARTIN'; S(3,1).Gender = 'M'; S(3,1).SystolicBP = 130; S(3,1).DiastolicBP = 92; S
S=3×1 struct array with fields:
Name
Gender
SystolicBP
DiastolicBP
S
は、フィールドが 4 個ある 3 行 1 列の構造体配列です。
構造体配列をテーブルに変換します。
T = struct2table(S)
T=3×4 table
Name Gender SystolicBP DiastolicBP
__________ ______ __________ ___________
{'CLARK' } {'M'} 124 93
{'BROWN' } {'F'} 122 80
{'MARTIN'} {'M'} 130 92
S
の構造体のフィールド名が、出力 table では変数名になります。T
のサイズは 3 行 4 列です。
スカラー構造体を配列として処理
'AsArray',true
を使用して、フィールドの行数が異なるスカラー構造体から table を作成します。
name
、billing
および test
という名前のフィールドをもつスカラー構造体 S
を作成します。
S.name = 'John Doe';
S.billing = 127.00;
S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];
S
S = struct with fields:
name: 'John Doe'
billing: 127
test: [3x3 double]
これらのフィールドは行数が異なります。そのため、既定で 'AsArray',false
を使用する struct2table(S)
を使用することはできません。
スカラー構造体を配列として処理し、テーブルに変換します。
T = struct2table(S,'AsArray',true)
T=1×3 table
name billing test
____________ _______ ____________
{'John Doe'} 127 {3x3 double}
T
には 1 つの行が含まれています。
入力引数
S
— 構造体配列
構造体配列
構造体配列。スカラー構造体配列として指定します。
S
がn
個のフィールドをもつスカラー構造体で、それらすべてのフィールドがm
行をもつ場合、T
はm
行n
列のテーブルになります。S
が、n
個のフィールドをもつm
行1
列の非スカラー構造体である場合、T
はm
行n
列のテーブルになります。
名前と値の引数
例: 'RowNames',{'row1','row2','row3'}
は、行名 row1
、row2
および row3
を table T
に使用します。
オプションの Name,Value
の引数ペアをコンマ区切りで指定します。Name
は引数名で、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を任意の順序で指定できます。
RowNames
— 行名
{}
(既定値) | 文字ベクトルの cell 配列 | string 配列
行名。'RowNames'
と、文字ベクトルの cell 配列または string 配列 (それらの要素は空ではなく一意) で構成されるコンマ区切りのペアとして指定します。
行名には、空白や非 ASCII 文字を含む任意の Unicode® 文字を使用できます。
先頭または末尾に空白文字を含む行名を指定すると、struct2table
は行名からそれらを削除します。
DimensionNames
— 次元名
文字ベクトルの 2 要素 cell 配列 | 2 要素 string 配列
"R2021a 以降"
次元名。要素が空ではない一意の文字ベクトルの 2 要素 cell 配列または 2 要素 string 配列として指定します。
次元名には、スペース、非 ASCII 文字を含む任意の Unicode 文字を使用できます。
R2021a より前は、出力の DimensionNames
プロパティの設定によってのみ、次元名を指定できます。
AsArray
— スカラー構造体の処理方法のインジケーター
false
(既定値) | true
| 0
| 1
スカラー構造体の処理方法のインジケーター。'AsArray'
と、false
、true
、0
または 1
で構成されるコンマ区切りのペアとして指定します。
|
|
|
|
出力引数
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
詳細については、table のコード生成 (MATLAB Coder)とコード生成における table の制限事項 (MATLAB Coder)を参照してください。
バージョン履歴
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)