ID
arrayfunを使用してクラスのオブジェクトの配列を作成する必要があります。
% ID.m
classdef ID < handle
properties
id
end
methods
function obj = ID(id)
obj.id = id;
end
end
end
しかし、エラーが発生します:
>> ids = 1:5;
>> s = arrayfun(@(id) ID(id), ids)
??? Error using ==> arrayfun
ID output type is not currently implemented.
代わりにループで構築することもできます。
s = [];
for k = 1 : length(ids)
s = cat(1, s, ID(ids(k)));
end
しかし、arrayfunのこの使用法の何が問題になっていますか?
編集(質問の明確化):問題は、問題を回避する方法ではなく(いくつかの解決策があります)、単純な構文s = arrayfun(@(id) ID(id), ids);
が機能しない理由です。ありがとう。