我已经创建了一个对象数组,我想在向量操作中分配一个属性值,而不使用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

08-16 16:47