Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 检查矩阵的大小会导致错误_Matlab_Matrix - Fatal编程技术网

Matlab 检查矩阵的大小会导致错误

Matlab 检查矩阵的大小会导致错误,matlab,matrix,Matlab,Matrix,错误: 下标索引必须是实正整数或逻辑数 嗨,我正在做图像转换,我在检查矩阵大小时出错。我不明白为什么我会在这个特定的实例中使用以下代码: size(maleGrey) 以下是我正在运行的代码: male = getAllFiles('male'); % Variable Initialization size = 250*250; numM = length(male); maleGrey = zeros(size,numM); % Convert to gray scale for i

错误:

下标索引必须是实正整数或逻辑数

嗨,我正在做图像转换,我在检查矩阵大小时出错。我不明白为什么我会在这个特定的实例中使用以下代码:

size(maleGrey)
以下是我正在运行的代码:

male = getAllFiles('male');

% Variable Initialization
size = 250*250;
numM = length(male);
maleGrey = zeros(size,numM);

% Convert to gray scale
for i = 1:numM
   rgb = imread(char(male(i)));
   img = single(rgb2gray(rgb));
   vec = img(:); % make it a vector of (62500,1) in size
   maleGrey(:,i) = vec; 
end

调用
size=250*250
时,错误地使用了
size
作为变量。在工作区中执行此操作后,函数将被变量屏蔽(重载),Matlab将始终将对
size
的进一步调用视为对变量的操作


调用
清除大小
,该功能将按预期工作。此外,不要使用
size
作为变量名称(或其他函数名称,如
length
double
,或
zero
等),而应使用
siz
numberOfRows
(因为这就是变量的含义).

调用
size=250*250
时,您犯了将
size
用作变量的错误。在工作区中执行此操作后,函数将被变量屏蔽(重载),Matlab将始终将对
size
的进一步调用视为对变量的操作

调用
清除大小
,该功能将按预期工作。另外,不要使用
size
作为变量的名称(或其他函数名称,如
length
double
,或
zero
等),而应使用
siz
numberOfRows
(因为这是变量的含义)。

您正在(本地)覆盖Matlabs本机函数引用
size
变量名

% Variable Initialization
size = 250*250; % <--
%变量初始化
尺寸=250*250;% 您正在用变量名覆盖(本地)Matlabs本机函数引用
size

% Variable Initialization
size = 250*250; % <--
%变量初始化
尺寸=250*250;%