Change Size of Array in table

Hey All,
I am new to Matlab and have a table with a subtable in some cells. My main Table (MM) has dynamic size and the subtable, which is in the 9th cell of each row has to have a subtable with the width of the hight of the Maintable. I have trouble if i add a row to add a column to the subtable. My Idea is:
for i = 1:size(MM,1)
MM{i,9} = table([MM{1,9}{1,1} 1]);
end
Following error message comes up: "Subscripted assignment dimension mismatch for table variable 'Var1'."
I also tried the following:
for i = 1:size(MM,1)
MM{i,9}{1,1} = [MM{1,9}{1,1} 1];
end
Following error message comes up: "The value on the right-hand side of the assignment has the wrong width. The assignment requires a value whose width is 3."
It seems like I cant change the size of the subtable but dont get why. Please help me.
Thank you!
Arne

2 comentarios

dpb
dpb el 24 de Ag. de 2020
Attach a .mat file with a small example of the table structure and illustrate what you want the result to be...
Arne T
Arne T el 25 de Ag. de 2020
I added the table.mat file. The Variable MM is the table. For adding a row I have following code
function addSolution(pos, solution)
%%fügt der Tabelle tabelle eine technische Lösung hinzu
tabelle = getMM(pos);
rows = height(tabelle);
columns = width(tabelle);
T = table();
for i = 1:8
T = [T table(0)];
T.Properties.VariableNames{i} = tabelle.Properties.VariableNames{i};
end
T = [T {table(ones(1,rows))}];
T.Properties.VariableNames{9} = tabelle.Properties.VariableNames{9};
for i = 10:columns
T = [T table(addCell)];
T.Properties.VariableNames{i} = tabelle.Properties.VariableNames{i};
end
T.Properties.RowNames = {solution};
if rows == 0
tabelle = T;
else
tabelle = [tabelle;T];
end
setMM(pos,tabelle);
for i = 1 : rows+1
modules = [table2array(getMM([pos;i,9])) 1];
setMM([pos;i,9],{modules});
end
The pos variable is in first step emtpy [].
The last four Rows in this code should add a column to the Matrix in the 9th cell. This still dont work.

Iniciar sesión para comentar.

 Respuesta aceptada

Nagasai Bharat
Nagasai Bharat el 27 de Ag. de 2020

0 votos

Hi Arne,
My understanding is that you are looking into changing the dimensions of your sub-tables. In MATLAB you would be able to add nested/sub tables inside your main table of desirable width/variables but the number of rows of each sub-table should be equal to the number of rows of the main table.
For reference please do look into this answer.

Más respuestas (0)

Categorías

Preguntada:

el 24 de Ag. de 2020

Respondida:

el 27 de Ag. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by