I am getting error "Cell contents reference from a non-cell array object" . Please tell me how to solve this problem.
Cell contents reference from a non-cell array object.
3 views (last 30 days)
Show older comments
marcos flavio paula miranda junior
on 22 Nov 2020
Commented: marcos flavio paula miranda junior
on 22 Nov 2020
clc;
clear all;
vchave = [2 2 2 2 2 2]
for k = 1:6;
v{k} = vchave
v{1,k} = v{1,k}-1
v{1}{k+1} = v{1}{k+1}-1
end
I am getting error "Cell contents reference from a non-cell array object" . Please tell me how to solve this problem.
Accepted Answer
Stephen23
on 22 Nov 2020
Edited: Stephen23
on 22 Nov 2020
Each cell of v contains a numeric vector. So your indexing here:
v{1}{k+1} = v{1}{k+1}-1
% ^ ^ ^ ^ wrong type of bracekts for numeric array.
uses the wrtong type of brackets for indexing (curly braces are used to access the elements of a container array, e.g. the elements of a cell array, table, or string). The correct brackets for accessing the elements of a numeric array are parentheses, as shown here:
vchave = [2,2,2,2,2,2];
for k = 1:5;
v{k} = vchave
v{1,k} = v{1,k}-1
v{1}(k+1) = v{1}(k+1)-1
end
I strongly recommend preallocating v before the loop.
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!