我想初始化一个粒子的数组,其中粒子是我定义的一个类。我被告知 此处 我应该这样做
particles(2, 1) = Particle();
但这不工作,如果 particles
之前已经被设置为类似于一个双数组的东西,或者可能比预期的大小要大(并且不会因为这一行而缩小,我想只有受影响的行会被改变)。有没有办法取消设置变量,重新初始化我的数组?
我得到的错误是
在将Particle转换为double时发生以下错误。 从Particle转换为double是不可能的。
在main(第4行)中出错,particle(2, 1) = Particle()。
有各种可能的解决方案。要清除一个变量,使用 clear
:
clear particles
particles(2, 1) = Particle;
(注意,在调用一个没有参数的函数时,不需要加上空括号。)
然而,一个更好的解决方案IMO是创建一个你的类的数组,并将其分配给变量
particles = repmat(Particle,2,1);
这条语句只有在你没有重载连接操作符的情况下才有效。