The return value of the extrinsic function is a variable array, How can I access it?

1 回表示 (過去 30 日間)
J = zeros(0,1);
coder.varsize(J);
coder.extrinsic('fast_union_sorted');
temp = fast_union_sorted(activeSet, I);
J = temp;
the size of the array temp is not fixed size;
Matlab will report error when executing " J = temp", such as
expression 'temp' is not of the correct size: expected [0x1] found [5x1].
How can I solve it?
Thanks!

採用された回答

Denis Gurchenkov
Denis Gurchenkov 2016 年 7 月 14 日
After the call to fast_union_sorted(), read the size of the return value, and reallocate J to be of that size:
coder.varsize('J');
coder.extrinsic('fast_union_sorted');
temp = fast_union_sorted();
n = [0 0];
n = size(temp);
J = zeros(n);
J = temp;

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB Coder についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by