如何从.txt文件读取数据Matlab

时间:2019-02-25 15:43:08

标签: matlab octave

我从txt文件中的天线辐射图中获得了这些数据:

enter image description here

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

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

但是,所有数据都在矢量中,因此我尝试将文件的一小部分可视化,写成data = fread(file, [20,4])。但是,数据是错误的,这是我获得的:

enter image description here

我也尝试过使用fscanf函数,但是我也没有用。我想打开整个文件(以前不知道元素数)。

我希望有人能帮助我。谢谢您的回复。

1 个答案:

答案 0 :(得分:2)

您可以在许多数据读取功能中指定分界符,因此它不是逗号,我发现readtable最简单:

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

您的数据似乎用制表符分隔,因此请使用'tab'选项。您也可以使用'space'或任何给定的字符。

然后可以转换逗号格式的小数

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