Класс: matlab.io.
Пакет: matlab.io
ArrayDimensions
allDims = size(matObj,variable)
[dim1,...,dimN]
= size(matObj,variable)
selectedDim =
size(matObj,variable,dim)
возвращает размер каждой размерности заданной переменной в файле, соответствующем allDims = size(matObj,variable)matObj. Выводом allDims является 1-by-m вектор, где m = ndims(variable).
[ возвращает размеры каждой размерности в отдельных выходных переменных dim1,...,dimN]
= size(matObj,variable)dim1,...,dimN.
возвращает размер заданного измерения.selectedDim =
size(matObj,variable,dim)
|
Объект создается функцией |
|
Строка заключила в одинарные кавычки, который задает имя переменной в MAT-файле, соответствующем |
|
Ненулевое положительное скалярное целое число, которое задает размерность переменной. |
|
|
|
Скалярные числовые значения, где
|
|
Скалярное числовое значение, которое содержит размер выбранного измерения для заданной переменной. |
Найдите размер матричного topo в topography.mat, не загружая данных:
matObj = matfile('topography.mat');
[nrows,ncols] = size(matObj,'topo');Определите размерности переменной и обработайте одну часть переменной за один раз. В этом случае вычислите и сохраните среднее значение каждого столбца переменной stocks в файле в качестве примера stocks.mat:
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Создайте 3D массив и вызовите метод 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.