[英]“Index exceeds matrix dimensions” in Matlab when assigning to a struct array
[英]Matlab: Index exceeds matrix dimensions
我正在尝试运行以下代码:
classdef HelloWorld
properties
var;
array;
end
methods
function h = HelloWorld()
h.var = 30;
setArray(h);
disp(h.array(10));
end
function setArray(h)
for i=1:h.var
h.array(i) = i*2;
end
end
end
end
但是,出现以下错误:
Index exceeds matrix dimensions.
Error in HelloWorld (line 14)
disp(h.array(10));
因为您正在访问一个空数组。
您需要的是HelloWorld的新副本,该副本具有已初始化的数组。
classdef HelloWorld
properties
var;
array;
end
methods
function h = HelloWorld()
h.var = 30;
h=setArray(h);
disp(h.array(10));
end
function h=setArray(h)
for i=1:h.var
h.array(i) = i*2;
end
end
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.