MATLAB - Таблица - Unnest ячейки переменного размера в таблице

Я попытался раскрутить ячейку переменного размера в таблице. Я получаю измерение, не имеющее нескольких попыток. Вот код (немецкий, просто случайные имена):

entwicklung = {{'Mueller', 'Schroeder', 'Kuehn'},...
    {'Schulz', 'Wagner'}, ...
    {'Wolf', 'Schwarz', 'Neumann'}};
vertrieb = {{'Braun', 'Zimmermann'},...
    {'Krueger', 'Klein'},...
    {{'Schaefer'}}};
geschfhrng = {{{'Hofmann'}},...
    {'Lange', 'Schmidt'},...
    {{'Peters'}}};
qualitaet = {{'Moeller', 'Kaiser'},...
    {{'Jung'}},...
    {'Friedrich', 'Baumann'}};
doku = {{'Albrecht', 'Winkler'},...
    {'Stein', 'Vogt', 'Ziegler'},...
    {{'Pfeifer'}}};
cellB5 = [entwicklung; vertrieb; geschfhrng; qualitaet; doku];
zeilenbeschriftung = ...
    {'Entwicklung', 'Vertrieb', 'Geschaeftsfuehrung', 'Qualitaet', 'Dokumentation'};  
spaltenbeschriftung = ...
    {'FuenfJahre', 'ZehnJahre', 'FuenfzehnJahre'};
structE2 = cell2struct(cellB5, spaltenbeschriftung, 2);

tabelle7 = cell2table(struct2cell(structE2));
       % tabelle7.Properties
spaltennamen = {'Entwicklung', 'Vertrieb', 'Geschaeftsfuehrung',...
'Qualitaet', 'Dokumentation'};
zeilennamen = {'FuenfJahre', 'ZehnJahre', 'FuenfzehnJahre'};
tabelle7.Properties.VariableNames = spaltennamen;
tabelle7.Properties.RowNames = zeilennamen;

Теперь я хочу снять ячейки в таблице:

                  Entwicklung     Vertrieb     Geschaeftsfuehrung    Qualitaet     Dokumentation
                  ___________    __________    __________________    __________    _____________

FuenfJahre        {1×3 cell}     {1×2 cell}    {1×1 cell}            {1×2 cell}    {1×2 cell}   
ZehnJahre         {1×2 cell}     {1×2 cell}    {1×2 cell}            {1×1 cell}    {1×3 cell}   
FuenfzehnJahre    {1×3 cell}     {1×1 cell}    {1×1 cell}            {1×2 cell}    {1×1 cell} 

Чтобы получить нечто подобное для всех строк:

                   Entwicklung                        Vertrieb     Geschaeftsfuehrung           Qualitaet            Dokumentation
                  ________________________________    __________    __________________    ________________________    _____________

FuenfzehnJahre    'Wolf'    'Schwarz'    'Neumann'    {1×1 cell}    {1×1 cell}            'Friedrich'    'Baumann'    {1×1 cell}   

Задача здесь состоит в том, чтобы распаковать ячейки 1x1 и объединить их с другими рядами. Для предварительного распределения проблем я попытался найти максимум ячеек и хотел создать пустую таблицу из этого вектора и затем заполнить пустую таблицу единственными строками. Не могу заставить его работать.

с этим кодом:

%{
spaltennamen = {'Entwicklung', 'Vertrieb', 'Geschaeftsfuehrung',...
'Qualitaet', 'Dokumentation'};
zeilennamen = {'FuenfJahre', 'ZehnJahre', 'FuenfzehnJahre'};
%}
tabelle12 = tabelle7;
tabellentiefe = size(tabelle7, 1);
maxSpaltenGroessen = max(cellfun(@max, cellfun(@size, tabelle12{:, :},... 
'UniformOutput', false)));
neueZeileLeer = arrayfun(@(x) cell(1, x), maxSpaltenGroessen,...
'UniformOutput', false);
neueTabelleLeerCell = repmat(neueZeileLeer, tabellentiefe, 1);
neueTabelleLeer = cell2table(neueTabelleLeerCell);

tabelle12 = neueTabelleLeer;
tabelle12.Properties.VariableNames = spaltennamen;
tabelle12.Properties.RowNames = zeilennamen;  

Я получил это:

                    Entwicklung         Vertrieb       Geschaeftsfuehrung    Qualitaet    Dokumentation
                  ______________    ______________    __________________    _________    _____________

FuenfJahre        []    []    []    []    []    []    []    []              []    []     []    []     
ZehnJahre         []    []    []    []    []    []    []    []              []    []     []    []     
FuenfzehnJahre    []    []    []    []    []    []    []    []              []    []     []    []     

Теперь я хочу перенести содержимое одной таблицы "tabelle7" в другую "tabelle12". Любая помощь?

0 ответов

Другие вопросы по тегам