Clear Filters
Clear Filters

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 view (last 30 days)
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!

Accepted Answer

Stephen23
Stephen23 on 26 Feb 2021
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:

More Answers (1)

Walter Roberson
Walter Roberson on 26 Feb 2021
Edited: Walter Roberson on 26 Feb 2021
Your file has no data (after at most 3 header lines). The textscan result is empty.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!