Subscripting a table using linear indexing (one subscript) or multidimensional indexing (three or more subscripts) is not supported
6 views (last 30 days)
Show older comments
Zeynab Mousavikhamene
on 31 Dec 2019
Commented: Walter Roberson
on 1 Jan 2020
I recives this error:
Subscripting a table using linear indexing (one subscript) or multidimensional indexing (three or more
subscripts) is not supported. Use a row subscript and a variable subscript.
in this command:
hold on
plot(Tmean_split{(var_Tmean_split(i))}, 'dg');
hold off
I want to plot mean value on the existing boxplot.
Tmean_split is a table and var_Tmean_split is array string of the table columns.
1 Comment
Image Analyst
on 1 Jan 2020
I don't know what var_Tmean_split is. Is it a cell array of strings that you got from a column of the table called Tmean_split? If so, how can you plot strings? You can only plot numbers.
When you say
Tmean_split{(var_Tmean_split(i))}
the expression inside the {} must be a number saying what column you want to use. Evidently you're not giving it a single number but a cell array, a vector, or a column from a table (I'm not sure), but it's definitely not a single column number.
Can you attach your table in a .mat file with the paper clip icon and say what column you want to plot?
Accepted Answer
Walter Roberson
on 1 Jan 2020
Edited: Walter Roberson
on 1 Jan 2020
plot(Tmean_split{:, var_Tmean_split(i)}, 'dg');
or
plot(Tmean_split.(var_Tmean_split(i)), 'dg');
2 Comments
Walter Roberson
on 1 Jan 2020
If your var_Tmean_split really is an array string like you said, then your i is not scalar.
But I suspect that your var_Tmean_split is a cell array of character vectors rather than a string array. If so then in the above, where I have var_Tmean_split(i) replace that with var_Tmean_split{i}
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!