我正在尝试从excel表中导入数据,其中有3列(Time; Id;和Data)。
第一列包含时间(以秒为单位),而下一列包含数字(Id)。但是,第三列(Data)具有十六进制数,因此每当我尝试从第三列检索任何信息时,Matlab都无法处理该信息并在命令窗口/结构中显示“NaN”。
我想为每个ID创建一个结构,并在Id中显示相应的信息。
因此,无论如何从第三列获取信息而不会出现NaN错误?
这是我的代码:
[dat1, dat2, dat3] = xlsread('1');
flds=dat3(1,:);
bus=cell2struct(dat3(2:end,:),flds,2);
for k=1:length(bus)
if bus(k).Id == 150
i=i+1;
can_bus(k,:)
end
end
答案 0 :(得分:1)
您可以获取原始文本并进行转换:
要获取文本,您必须获取其他输出参数 来自xlsread。例如:
[num,txt,raw] = xlsread(' file.xls');
将返回num中的数值,txt中的文本值和 raw中的原始单元格数据。