I am receiving an error addressing tables in debug mode
11 views (last 30 days)
Show older comments
This may be an error in the MATLAB source code, but I'm having issues with addressing tables when debugging code. This is happening consistently.
For example, tables receive an error: "Index exceeds matrix dimensions." whenever I try to access data using: indices, column names as string, or anything. It will work sometimes after I quit the debugging and re-run the code.
What's going on? Why am I having such an issue addressing tables? Is this a software bug
Here's an example of what causes a problem:
% Generic Code: Make a table
X = table((1:26)', cellstr(char(65:65+25)'),'VariableNames', {'Numbers', 'Letters'});
row1col2 = X(1,2); %addressing the first row, second column creates an error: Index exceeds matrix dimensions
0 Comments
Answers (2)
Peter Perkins
on 9 Feb 2017
In the debugger, when stopped in a method of a class, you are in effect "inside" the table, and none of the overloaded subscripting is called. table has overloaded subscripting, which is why you're seeing this, but the general idea is not specific to table. It's how the debugger interacts with the object system, and is what's needed to be able to debug a class's protected/private code.
You can call subsref directly, though.
0 Comments
Shio Williams
on 12 Feb 2017
1 Comment
Peter Perkins
on 13 Feb 2017
It seems like you might have an unusual situation that is best handled by contacting MathWorks support directly.
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!