ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

cell 配列と構造体配列

この例では、セルと構造体の配列を比較し、各タイプの配列でデータを格納する方法を示します。セルと構造体配列の両方を使用して、さまざまな型とサイズのデータを格納できます。

構造体配列

構造体配列では、名前別にアクセスするフィールド内にデータが含まれます。

たとえば、構造体配列に患者の記録を格納します。

patient(1).name = 'John Doe';
patient(1).billing = 127.00;
patient(1).test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];

patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68, 70, 68; 118, 118, 119; 172, 170, 169];

patient
patient = 1x2 struct array with fields:
    name
    billing
    test

患者ごとに検査結果の棒グラフを作成します。

numPatients = numel(patient);
for p = 1:numPatients
   figure
   bar(patient(p).test)
   title(patient(p).name)
   xlabel('Test')
   ylabel('Result')
end

cell 配列

cell 配列では数値インデックスでアクセスするセルにデータが含まれます。cell 配列の共通の機能には、複数のテキストの格納やスプレッドシートからの異種混合データの格納などがあります。

たとえば、時間経過にもとづく 3 都市の気温データを cell 配列内に格納します。

temperature(1,:) = {'2009-12-31', [45, 49, 0]};
temperature(2,:) = {'2010-04-03', [54, 68, 21]};
temperature(3,:) = {'2010-06-20', [72, 85, 53]};
temperature(4,:) = {'2010-09-15', [63, 81, 56]};
temperature(5,:) = {'2010-12-09', [38, 54, 18]};

temperature
temperature = 5x2 cell array
    {'2009-12-31'}    {1x3 double}
    {'2010-04-03'}    {1x3 double}
    {'2010-06-20'}    {1x3 double}
    {'2010-09-15'}    {1x3 double}
    {'2010-12-09'}    {1x3 double}

日付別に都市ごとの気温をプロットします。

allTemps = cell2mat(temperature(:,2));
dates = datetime(temperature(:,1));

plot(dates,allTemps)
title('Temperature Trends for Different Locations')
xlabel('Date')
ylabel('Degrees (Fahrenheit)')

その他のコンテナー配列

一般的に、構造体とセルの配列は異なるタイプのデータを格納するために使用されるコンテナーです。テーブルは、異なるタイプの列方向データや表形式データを格納するのに便利です。代わりに、Map コンテナーを使用するか、独自のクラスを作成することもできます。

参考

| | | | | |

関連する例

詳細