2
classdef MyObj
   properties
      A;
   end
end

%%

len = 5;
objArray = MyObj.empty(len,0);
for i=1:len
   objArray(i) = MyObj();
end

dataArray = [1 2 3 4 5];
% How do I set objArray.A to the values in dataArray?

基本上是关于 Matlab 语义的快速问题。如何objArray.A根据索引设置每个值dataArray(不循环)?

我尝试了[objArray.A], objArray(:).A,objArray.A(:)等的多种变体,但无法正常工作。

PS:我使用的语言是MATLAB

谢谢。

4

1 回答 1

3

如果我了解您在做什么,您可以通过以下方式为对象数组分配多个值:

values = num2cell(dataArray)
[objArray.A] = values{:}

>> objArray(1).A

ans =

     1

>> objArray(2).A

ans =

     2

>> objArray(3).A

ans =

     3

希望这可以帮助!

于 2013-05-24T12:04:07.237 回答