How to access elements in a convoluted cell array.
5 次查看(过去 30 天)
显示 更早的评论
Hello and happy holidays to everyone.
I have an convoluted cell array IZ, with the size 1x12, that looks like this
IZ =
Columns 1 through 7
'4 8 12 16' '15 26 30 34' '4 8 12 16' '4 8 12 16' '4 15 17 21' '3 7 9 28' '3 7 9 28'
Columns 8 through 12
'3 7 9 28' '3 7 9 28' '3 14 16 35' '3 14 16 35' '3 9 11 30'
I know, I can access the single columns by typing IZ{x}, where x is the column index. But how can I access for example say third element of first column? Many thanks and greetings.
0 个评论
采纳的回答
Jan
2016-12-26
What is "the 3rd element of the 1st column"? Do you mean the 12 as a number?
IZ = {'4 8 12 16', '15 26 30 34', '4 8 12 16'} % The rest does not matter here
FirstCol = IZ{1};
Number = sscanf(FirstCol, '%f');
Value = Number(3)
Or is the "3rd element" the 3rd character of the string? Please clarify this.
更多回答(1 个)
Image Analyst
2016-12-26
I don't know what convoluted means. To me it means very complicated but some people use it to mean "convolved" like the result of a convolution operation. Anyway.....
Try this:
IZ = {'4 8 12 16',...
'15 26 30 34',...
'4 8 12 16',...
'4 8 12 16',...
'4 15 17 21',...
'3 7 9 28',...
'3 7 9 28',...
'3 7 9 28',...
'3 7 9 28',...
'3 14 16 35',...
'3 14 16 35',...
'3 9 11 30'}
% IZ is a row vector of cells with 12 columns - "1×12 cell array"
% First get the first cell contents.
% First column is a string with 4 numbers and spaces in it.
col1String = IZ{1} % Extract contents into a string '4 8 12 16'
% Get third element of the first column.
% The third element of that string is a space.
element3 = col1String(3) % This will be a space.
2 个评论
Image Analyst
2016-12-27
I think the FAQ might also help you understand cell arrays: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!