Как я могу предварительно выделить нечисловой вектор в MATLAB?

В строке 17 из wordp/index.php убедитесь, что ссылка на wp-blog-header.php правильная - возможно, перед ней должен стоять косая черта.

// wrong
require 'wordpwp-blog-header.php';

// correct, with forward slash
require 'wordp/wp-blog-header.php';
5
задан Community 23 May 2017 в 11:54
поделиться

3 ответа

Так как Вы знаете поля структуры processedData и Вы знаете его длину, один путь был бы следующим:

unprocessedData = fetchData();
processedData = struct('field1', [], ...
                       'field2', []) % create the processed data struct
processedData(length(unprocessedData)) = processedData(1); % create an array with the required length
for dataIdx = 1:length(unprocessedData)
    processedData(dataIdx) = process(unprocessedData(dataIdx));
end

Это предполагает что process функционируйте возвращает структуру с теми же полями как processedData.

3
ответ дан 13 December 2019 в 19:36
поделиться

В дополнение к ответу Azim другой способ сделать это использует repmat:

% Make a single structure element:
processedData = struct('field1',[],'field2',[]);
% Make an object:
processedData = object_constructor(...);
% Replicate data:
processedData = repmat(processedData,1,nElements);

где nElements число элементов, которое Вы будете иметь в структуре или объектном массиве.

Остерегайтесь: Если объект, который Вы делаете, будет получен из класса дескриптора, то Вы не будете копировать сам объект, просто обработать ссылки на него. В зависимости от Вашей реализации Вам, возможно, придется назвать метод конструктора Object nElements времена.

5
ответ дан 13 December 2019 в 19:36
поделиться

Можно передать в массиве ячеек struct из соответствующего размера:

processedData = struct('field1', cell(nElements, 1), 'field2', []);

Это сделает массив структур, который является тем же размером как массив ячеек.

3
ответ дан 13 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: