我如何告诉 Matlab 正在导入的某些数据是十六进制的?

How do I tell Matlab that some of the data which is being imported is in Hex?

我正在尝试从 excel sheet 中导入数据,其中有 3 列(时间;Id;和数据)。

第一列包含时间(以秒为单位),而下一列包含数字 (Id)。但是,第三列(数据)具有十六进制数字,因此 Matlab 无法处理该信息,并且每当我尝试从第三列检索任何信息时,都会在命令 window/structure 中显示 '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

您可以获得原始文本并自己进行转换:

To get the text, you have to get other output parameters from xlsread. For example:

[num,txt,raw] = xlsread('file.xls');

will return the numeric values in num, the text values in txt, and the raw cell data in raw.

Source