Subscripting into a table using three or more subscripts (as in t(i,j,k)) is not supported. Always specify a row subscript and a variable subscript, as in t(rows,vars).

121 vues (au cours des 30 derniers jours)
Hi,
I am trying to create a joined table from 4 arrays (each has the same amount of elements), whay does this error means?
this is part of my code:
%turn table to int array
baseline = table2array(baseline);
retest1 = table2array(retest1);
retest2 = table2array(retest2);
retest3 = table2array(retest3);
%create a table for plotting
correct_sequences_table = table(baseline, retest1, retest2, retest3)
Error: Subscripting into a table using three or more subscripts (as in
t(i,j,k)) is not supported. Always specify a row subscript and a
variable subscript, as in t(rows,vars).

Réponses (2)

Walter Roberson
Walter Roberson le 21 Juil 2021
You accidentally created a variable named table that is a member of the object class named table . In the line that is having the problem, MATLAB thinks that you are trying to index the variable named table instead of trying to create a new table object.
  3 commentaires
Walter Roberson
Walter Roberson le 4 Mai 2022
T = table;
clear table
Now the old value is in T and you can use table() as a function again.
Note that generally speaking the error about wrong number of subscripts indexing a table is often a slightly different problem than here. This analysis only holds for lines where it is complaining with that error on a line that appears to be creating a table. In cases where a different variable name appears, the problem is often trying to use just a row number to index a table, such as
T(5)
when you would need
T(5,:)
or a column reference as the second parameter, such as
T(5,'power_level')
T{5,3}

Connectez-vous pour commenter.


Peter Perkins
Peter Perkins le 27 Juil 2021
Lihi, hard to say for sure, but you may want to make a table that contains those four tables. For example:
>> baseline = table([1;2;3],[4;5;6],'VariableNames',["X" "Y"])
baseline =
3×2 table
X Y
_ _
1 4
2 5
3 6
>> retest1 = table([7;8;9],[10;11;12],'VariableNames',["W" "Z"])
retest1 =
3×2 table
W Z
_ __
7 10
8 11
9 12
>> t = table(baseline,retest1)
t =
3×2 table
baseline retest1
X Y W Z
________ _______
1 4 7 10
2 5 8 11
3 6 9 12
>> t.baseline.X
ans =
1
2
3

Catégories

En savoir plus sur Tables dans Help Center et File Exchange

Tags

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by