我试图在表格中取消嵌套可变大小的单元格。我多次尝试尺寸不匹配。这里的代码(德语,只是随机名称):
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”。有什么帮助吗?