gpt4 book ai didi

matlab - 如何在 MATLAB 中读取制表符分隔的文本文件,该文件包含大部分数字,但有时在几个单元格中包含单词 MAX?

转载 作者:行者123 更新时间:2023-12-02 06:39:44 45 4
gpt4 key购买 nike

我想使用 MATLAB 从制表符分隔的文本文件中读取一系列单元格。这个单元格范围应该是数字,但最近提供这些数字的软件在数字太大时用“MAX”一词代替了数字应在的位置。这意味着我现在查看的单元格范围包含一些表示 MAX 的字符串,其余的都是数值。

到目前为止,我一直在使用 dlmread 来读取这个范围的数值,并且运行良好。当存在 MAX 时,dlmread 不起作用。

这是我用来读取数据的代码:

data = dlmread(filename, '\t', 20, 5);

这是错误:

Mismatch between file and format string.
Trouble reading number from file (row 152u, field 31u) ==> MAX
MAX MAX 552.397949 33.415199 7.425600 3.379600
6.6422090 \n

有什么方法可以读取此文件而不将其转换为 .csv 吗?我想读取该文件并将显示 MAX 的单元格更改为 1500 这样的数字。

最佳答案

您可以尝试textscan

C = textscan(fid, '%f', 'delimiter', '\t', 'treatAsEmpty', {'MAX'},'EmptyValue', 1500);

这将返回一个 1 × N 元胞向量,其中 N 是文件中值的数量。要将其转换为矩阵,可以使用 reshape

C = reshape(cell2mat(C),[numOfRows numOfCols]);

关于matlab - 如何在 MATLAB 中读取制表符分隔的文本文件,该文件包含大部分数字,但有时在几个单元格中包含单词 MAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15209211/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com