ドキュメンテーション

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

size

クラス: matlab.io.MatFile
パッケージ: matlab.io

配列の次元

構文

allDims = size(matObj,variable)
[dim1,...,dimN] = size(matObj,variable)
selectedDim = size(matObj,variable,dim)

説明

allDims = size(matObj,variable) は、matObj に対応するファイル内の指定された変数の各次元のサイズを返します。出力 allDims は、1m 列 (m = ndims(variable)) のベクトルです。

[dim1,...,dimN] = size(matObj,variable) は、各次元のサイズを個々の出力変数 dim1,...,dimN に返します。

selectedDim = size(matObj,variable,dim) は指定された次元のサイズを返します。

入力引数

matObj

関数 matfile によって作成されたオブジェクト。

variable

matObj に対応する MAT ファイル内の変数の名前を指定する一重引用符に囲まれた文字列。

dim

変数の次元を指定する 0 以外の正のスカラー整数。

出力引数

allDims

指定された変数の次元のサイズを示す 1m 列のベクトル (m = ndims(variable))。

dim1,...,dimN

スカラー数値。dimK には、variableK 番目の次元のサイズが含まれます。

  • N < ndims(variable) の場合、dimN は次元 N から ndims(variable) のサイズの積になります。

  • N > ndims(variable) の場合、size メソッドは次元 ndims(variable)+1 から N に対応する出力変数に 1 を返します。

selectedDim

指定された変数のために選択された次元のサイズを含んでいるスカラー数値。

次のように、データを読み込まずに topography.mat の行列 topo のサイズを求めます。

matObj = matfile('topography.mat');
[nrows,ncols] = size(matObj,'topo');

変数の次元を決定し、一度に変数の 1 つの部分を処理します。ここでは、サンプル ファイル stocks.mat の変数 stocks の各列の平均値を計算して保存します。

filename = 'stocks.mat';
matObj = matfile(filename);
[nrows, ncols] = size(matObj,'stocks');

avgs = zeros(1,ncols);
for idx = 1:ncols
    avgs(idx) = mean(matObj.stocks(:,idx));
end

3 次元配列を作成し、出力引数の数が異なる size メソッドを呼び出します。

matObj = matfile('temp.mat','Writable',true);
matObj.X = rand(2,3,4);

d = size(matObj,'X')
d2 = size(matObj,'X',2)
[m,n] = size(matObj,'X')
[m1,m2,m3,m4] = size(matObj,'X')

このコードは、以下の出力を返します。

d =
     2     3     4

d2 =
     3

m =
     2
n =
    12

m1 =
     2
m2 =
     3
m3 =
     4
m4 =
     1

ヒント

  • size を呼び出すときに、構文 size(matObj.variable) を使用しないでください。この構文は、変数の内容全体をメモリに読み込みます。非常に大きい変数の場合、この読み込み操作によって Out of Memory エラーが発生します。

参考

|