acessing cell arrays with different number of rows
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I have cell array "out" 1x123 cells. Within each cell of out{1,1}, <1x3 cells. How can I access 2 and 3 columns of each cell within "out" and store in flows2 matrix. I am having a difficulty because each cell of "out" has different number of rows.
So, I tried this way
for j=1:length(csvFiles)
formatOut = 'yyyy';
flows2(:,j)=[str2num(datestr(datenum([out{1,j}{1,2}],1900),formatOut)) [out{1,j}{1,3}]];
end
I am receiving this error. Subscripted assignment dimension mismatch.
My question is, any other efficient way of doing this?
Any suggestion is appreciated.
Thanks in advance,
0 个评论
采纳的回答
Star Strider
2014-9-3
The only option I can see is to create flows2 as a cell array:
flows2{j} = ...
6 个评论
Star Strider
2014-9-3
For the same reason as with flows2 (different size columns), you will need to store them in a cell array:
for i=1:length(csvFiles)
q2{i}=flows2{i}(:,2)
end
If you wanted to, you could do that in your ‘j’ loop. Simply add it as a separate line and save an extra loop.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!