Why am I getting this error when trying to show a cell of an array? "Brace indexing is not supported for variables of this type"
1 次查看(过去 30 天)
显示 更早的评论
Hi, I'm trying to make a code for reading an array (dat) from a text file and changing each cell per column and per row according to a rule. But when I try to use braces to show a specific cell, for example:
hi=dat{5,3}
It shows this error: "Brace indexing is not supported for variables of this type".
So I can't even start making loops changing the values of the cells because it's not even allowing me to use braces for a specific cell.
Here's the code I used for reading the text and converting to an array:
rap = yourfolder; %'path of folder where my file is located'
fnm = fullfile(rap,'sh_day.txt');
fmt = repmat('%f',1,301);
opt = {'HeaderLines',3, 'CollectOutput',true,'Delimiter',','};
[fid,msg] = fopen(fnm,'rt');
assert(fid>0,msg)
dat = textscan(fid, fmt, opt{:});
fclose(fid);
dat = dat{1};
Thanks!
2 个评论
Simon Allosserie
2021-2-26
编辑:Simon Allosserie
2021-2-26
Is that value on location (5,3) in dat actually a cell? You use {} for selecting cells. If you select the cell content, you need to use ().
采纳的回答
Stephen23
2021-2-26
dat is numeric, so you need to use parentheses:
hi = dat(5,3)
I already explained this in more detail in my response to your comment:
0 个评论
更多回答(1 个)
Walter Roberson
2021-2-26
编辑:Walter Roberson
2021-2-26
Your file has no data (after at most 3 header lines). The textscan result is empty.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Data Preparation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!