Я хочу экспортировать свои данные в массив ячеек в файл Excel, насколько это возможно, без полуколоней для новых строк

У меня есть массив ячеек размером 2 на 40, и каждая ячейка содержит матрицу размером 3 на 3:

[3x3 double] [3x3 double] [3x3 double] ... [3x3 double] [3x3 double] [3x3 double] [3x3 double] ... [3x3 double] 

Теперь мне нужно напечатать этот массив ячеек и показать его в моей исследовательской группе. Ниже приведен подробный пример того, чего я пытаюсь достичь.

Печать должна отображать каждую матрицу в ячейке четко и отдельно, чтобы мы могли лучше изучить ее, подобно этому:

  [1 2 3] [5 2 3] [4 5 6] [1 2 2] ... [7 8 9] [7 8 9] [5 2 3] [4 5 6] [3 5 6] [7 2 9] ... [7 1 9] [5 2 3] 

Я попытался преобразовать ячейку в таблицу, к сожалению, это было неопрятно, так как она показывала каждый новый ряд матриц с полуколонами:

  [1 2 3; 4 5 6; 7 8 9] 

Кроме того, я попытался преобразовать Cell в Double с помощью:

  data = [cell{1,:};cell{2,:}]; 

в результате получается 6 на 120 двойных, выглядящих так:

  1 2 3 5 2 3 4 5 6 1 2 2 ... 7 8 9 7 8 9 5 2 3 2 5 6 3 5 6 7 2 9 ... 7 1 9 5 2 3 

Я могу экспортировать это в файл Excel, однако вы можете видеть, что он все еще громоздкий. Я могу вырезать и вставлять строки 4,5,6 и перемещать их ниже, чтобы это выглядело так:

  1 2 3 5 2 3 4 5 6 1 2 2 ... 7 8 9 7 8 9 5 2 3 2 5 6 3 5 6 7 2 9 ... 7 1 9 5 2 3 

однако мне все же нужно разделить все три столбца, чтобы я мог достичь того, чего хочу, что очень непрактично:

  1 2 3 5 2 3 4 5 6 1 2 2 ... 7 8 9 7 8 9 5 2 3 2 5 6 3 5 6 7 2 9 ... 7 1 9 5 2 3 

Я бы очень признателен за вашу помощь в этом. Заранее спасибо.

Чтобы отобразить сложный массив ячеек, подобный этому, вы можете использовать celldisp для отображения ячейки понятным образом.

 % Create some example data D = arrayfun(@(x)rand(3,3), ones(2,2), 'uni', 0); % Display it celldisp(D) 

Другой возможный способ показать это – создать обычную небольшую процедуру для печати данных.

 formatspec = '%10.4f'; format = repmat([repmat([formatspec ' '], [1 size(D{1},2)]), ' '], [1 size(D,2)]); arrayfun(@(k)fprintf('%s\n', sprintf([format, '\n'], cat(2, D{k,:}).')), 1:size(D,1)) 

Третий вариант, если вы действительно хотите экспортировать в Excel, вам нужно будет изменить оператор fprintf для создания файла CSV.

 fid = fopen('data.csv', 'w'); % Create the format specifier for a row format = repmat([repmat('%0.4f,', [1 size(D{1}, 2)]), ','], [1 size(D,2)]); format(end-1:end) = ''; for k = 1:size(D, 1) fprintf(fid, [format '\n'], cat(2, D{k,:}).'); % Create an empty row fprintf(fid, ',\n'); end fclose(fid); 

Результат при загрузке в Excel.

введите описание изображения здесь

  • В Python: как написать разреженную матрицу в файл csv?
  • Создание поддельных идентификаторов в Excel или Stata на основе матрицы
  • Операции со значением рабочей таблицы в Excel VBA
  • Сумма столбца, если ячейки находятся за пределами диапазона (диапазон = левое значение в строке + следующие 11 столбцов) R или Excel?
  • Проверьте, симметрична ли матрица в Excel и LibreOffice
  • как скопировать первое значение матрицы в листе excel?
  • Что означает объект в c #?
  • Наиболее эффективный способ синтаксического анализа в массиве VBA
  • Могу ли я экспортировать матрицу в Excel из Университета SAS на ПК под VMWare
  • Давайте будем гением компьютера.