如何从一个.txt文件中读取数据matlab [duplicate]

ui7jx7zq  于 2022-12-13  发布在  Matlab
关注(0)|答案(1)|浏览(133)

此问题在此处已有答案

Read txt file with comma decimal separator in MATLAB [duplicate](3个答案)
三年前就关门了。
我在txt文件中有天线辐射图的数据:

文本继续显示。如您所见,数字的整数和小数部分用逗号而不是点分隔。此外,我不需要第一行,因为它们不是值。我尝试使用以下代码:

file = fread('file.txt')
data = fread(file)
fclose(file)

然而,所有的数据都是在一个矢量中,所以我试图可视化文件的一小部分,写data = fread(file, [20,4])。然而,数据是错误的,下面是我得到的:

我也尝试了fscanf函数,但是我也没有工作。我想打开整个文件(之前不知道元素的数量)。
我希望有人能帮助我。谢谢你的回复。

u0sqgete

u0sqgete1#

您可以在许多数据阅读函数中指定分隔符,这样它就不是逗号,我发现readtable是最简单的:

T = readtable( 'file.txt', 'Delimiter', 'tab' );

看起来你的数据是用制表符分隔的,所以使用'tab'选项。你也可以使用'space'或任何给定的字符。
然后可以转换逗号格式的小数

c = T.Properties.VariableNames;
for ii = 1:numel(c)
    t.(c{ii}) = cellfun( @(x)str2double(strrep(x,',','.')), t.(c{ii}) );
end

相关问题