【发布时间】:2025-12-23 10:10:06
【问题描述】:
我正在尝试使用 textscan 读取包含以下行的文件
1.0 2.0 3.0 ? 6.0 5.0
11.0 12.0 13.0 15.0 16.0 15.0
21.0 22.0 23.0 25.0 26.0 25.0
31.0 32.0 33.0 ? 36.0 35.0
如何用nan替换问号?
【问题讨论】:
我正在尝试使用 textscan 读取包含以下行的文件
1.0 2.0 3.0 ? 6.0 5.0
11.0 12.0 13.0 15.0 16.0 15.0
21.0 22.0 23.0 25.0 26.0 25.0
31.0 32.0 33.0 ? 36.0 35.0
如何用nan替换问号?
【问题讨论】:
您是否尝试过将textscan 与%s %s %s %s %s %s 一起使用并使用str2double 将生成的元胞数组转换为数字
f = fopen('file.txt');
raw = textscan(f, '%s %s %s %s %s %s');
data = [];
for k = 1:6
data = [data str2double(raw{k})];
end
【讨论】:
nan。这就是str2double 部分正在做的事情。为什么不在 matlab 中输入str2double('?') 试试
您可以使用 TEXTSCAN 并将 'TreatAsEmpty' 指定为 '?'。
【讨论】: