Я пытаюсь сгенерировать C-код из функции MATLAB. Я должен работать с массивами ячеек (я не могу изменить это), и возникают две проблемы:
1: я хочу обрезать массив ячеек, т.е.
arr = cell(1,n);
% ...
arr = arr(1:m); % with m<n
MATLAB Coder запрещает индексирование (...)
, поэтому я попробовал следующее
tmp = arr;
arr = cell(1,m);
for i = 1:m
arr{i} = tmp{i};
end
Но это приведет к ошибке: «Matlab не может определить, что каждый элемент tmp {:} назначен перед этой строкой». То же самое происходит, если я назначаю каждый элемент от arr
до tmp
в цикле.
- Та же проблема возникает, когда я пытаюсь объединить два массива ячеек.
Знаете ли вы, как это исправить, чтобы MATLAB Coder не выдавал никаких ошибок.