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;%