simulinkモデルで私はmatlab関数ブロックを持っています。関数内では、コード生成と互換性のある方法でオブジェクトの配列を作成したいと考えています。 1がここで答えに生成可能なmatlab関数のオブジェクト配列
私の質問は似ていますConstruct an array of objects in MATLAB
問題は一部、「コード生成との互換性」です。
私はrepmat
MathWorks社のMATLABリターンでそれをやろう:
オブジェクトの配列は、コード生成のためにサポートされていません。
私は私が見るオブジェクトの配列でそれをやろう:
再帰呼び出しが許可されていません。関数 'dummyClass.dummyClass' が再帰呼び出しに参加しました。
私は実行コードの下に見つけてください:
Embedded MATLAB関数
function y = fcn(u)
%#codegen
x = [1 2 3];
% %% repmat way
% aa = dummyClass(x(1));
% aaArray = repmat(aa,1,3);
%% array of objects
aa = dummyClass(x);
y = u;
クラスファイル
classdef dummyClass
properties
value
end
methods
function obj = dummyClass(value)
%% array of objects
if nargin~=0
m = size(value,1);
n = size(value,2);
obj(m,n) = dummyClass;
for i = 1:m
for j = 1:n
obj(a,b).value = value(a,b);
end
end
end
% %% repmat
% obj.value = value;
end
end
end
コメントを解除