Cell array not fully defined on some execution paths error

I'm trying to assign memory to all cells for the purpose of code conversion and getting an error "Variable 'x{1, n}' is not fully defined on some execution paths. " How do I fix this? %n=14
function z = mycell(n)
%#codegen
assert(n < 1);
x = cell(1,n);
for i = 1:n
x{i} = i;
end
z = x{n};
end

回答 (1 件)

Walter Roberson
Walter Roberson 2018 年 6 月 24 日

0 投票

assert(n < 1);
that creates an error unless n is 0 or negative, in which case cell(1,n) will always be the empty cell...

3 件のコメント

Zun Sid
Zun Sid 2018 年 6 月 24 日
So what should be the condition instead?
Walter Roberson
Walter Roberson 2018 年 6 月 24 日
assert(n >= 1)
Zun Sid
Zun Sid 2018 年 6 月 25 日
ok thankyou

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

質問済み:

2018 年 6 月 24 日

コメント済み:

2018 年 6 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by