我正在尝试运行以下代码:
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));
答案 0 :(得分:0)
因为您正在访问空数组。
你需要的是一个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