错误:这种类型的变量不支持大括号索引。金宝app

10次浏览(最近30天)
瑞安
瑞安 2021年8月5日
评论道: 瑞安2021年8月5日
我正试图读取一个txt文件。然而,我一直得到一个括号索引错误。如何解决这个问题?
> > =(文件名“Read_In_1.txt”);
文件标识= fopen(文件名);
%文件中的数据示例
% UI = "555"
% SDD = "133"
% sod = "200"
%读取数据到表中,分隔符为空格
T = readtable(文件名,“分隔符”' ');
[r、c] =大小(T);
%使用示例数据,表将是3x3
%列1,T.Var1,包含变量名
% Column 2, T.Var2 contains '=' for all rows
%列3,T.Var3包含变量值作为文本字符串
%只对列1和列3的数据感兴趣
%给一个变量赋值,该变量的名字来自T.Var1{ii}
%源自T.Var3(ii)
2 = 1: r
assignin (“基地”, T.Var1{二},str2double (cell2mat (T.Var3 (ii))));
结束
%显示现在在工作区中的内容
文件关闭(文件标识);
返回
这种类型的变量不支持索引。金宝app
错误在cell2mat(第36行)
如果isnumeric (c {1}) | | ischar (c {1}) | | islogical (c {1}) | | isstruct (c {1})

接受的答案

里克
里克 2021年8月5日
你为什么要这样看你的档案?你为什么要吸毒 assignin ?没有理由在这里使用它。
既然你使用的是R2021a,我建议你使用 readline 读取文本文件。
txt = readline (“foo.txt”);
[字段,值]= arrayfun (@customFunction, txt);
=数据结构;
n = 1:元素个数(字段)
数据。(字段(n)) =价值(n);
结束
数据
data =结构体字段:
Ui: 555 sdd: 133 sod: 200
函数[f, v] = customFunction (str)
str =分裂(str,“=”);
f = strrep (deblank (str (1)),“””'');
v = str2double (strrep (deblank (str (2)),“””''));
结束

更多的答案(0)

下载188bet金宝搏


释放

R2021a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!