我如何告诉 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.
我正在尝试从 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.