如何从 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)
我在 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)