我已经创建了一个对象数组,我想在向量操作中分配一个属性值,而不使用for循环很不幸我犯了个错误。
这个问题的一个简单例子。
classdef clsMyClass < handle
properties
dblMyProperty1
end
methods
function obj = clsMyClass()
end
end
end
跑步时
vecMyArray = clsMyClass.empty(100,0);
vecMyArray(100) = clsMyClass;
vecMyArray.dblMyProperty1 = 1:100;
我们得到以下错误:
??? 点名称中右侧元素的数目不正确
任务左手边缺少[]可能是一个原因。
任何帮助都将不胜感激。
最佳答案
我明白你现在想做什么了从MATLAB文件交换中使用disperse
:
>> [vecMyArray.dblMyProperty1] = disperse(1:100);
>> vecMyArray(1).dblMyProperty1
ans =
1
>> vecMyArray(10).dblMyProperty1
ans =
10