如何从 Octave 中的文本中获取特定数据

How to Get specific data drom text in Octave

我在 Octave 中从文本文件加载数据时遇到问题。 我的文本文件如下所示:

# Created by Octave 5.2.0, Wed May 05 16:07:02 2021 GMT <unknown@DESKTOP-HEVT6O6>
# name: x
# type: matrix
# rows: 1
# columns: 3600
 4.8899999999999997 4.9000000000000004 4.9000000000000004 4.9100000000000001 4.9299999999999997 4.9249999999999998 ... 

我需要将这些浮点数加载到一个矩阵中并在时域中绘制它们。

到目前为止我的代码:

fs = 360;
Ts = 1/fs;

d = fileread('ecg.txt');

data = regexp(d(1,136:62328),' ','split');
data = str2double(data);

ed = length(data);

t = linspace(0,Ts,ed - 1);
figure(1)
plot(t,data(1,2:ed))

所以我的问题是是否有另一种方法可以做到这一点,或者是否有更好的方法可以做到这一点。

您的文件是 Octave 的文本数据格式。这是使用 save 将变量保存到文件时的默认文件格式。也就是说,该文本文件使用 save ecg.txt x 保存在 Octave 中。 Octave 命令 load ecg.txt 将加载文件,并像保存时一样重新创建 x 变量。

因此,要绘制数据,只需执行

load ecg.txt
plot(x)