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!