0

这里有一些细节,我来自 C++ 旧语言背景,同时解决了我的老师提出的 Matlab 问题。我得到了一个包含真实数据的 mat 文件,我需要读取它,将值分配给二维数组,因为波形的尖峰是一个二维数组。在 X 和 Y 轴上绘制它。然后我需要通过查看大多数尖峰之间的尖峰来创建一个阈值,例如,这个数字的范围,所以多余的位被砍掉,并且只取低于某个阈值的尖峰(二维数组)。尖峰表示当患者生病并且其心跳显示在屏幕上时您会看到的一个简单信号。我的数据文件大小为 313 Mb。那么任何人都可以指导我如何处理这个大文件。

所以任何帮助代码都会很棒。

4

2 回答 2

1

在 Matlab 中键入以下内容:

help load

阅读。然后输入:

help plot

阅读。从你的问题开始,然后回来寻求帮助。

于 2013-10-04T15:31:00.137 回答
1

首先将您的 .mat 文件加载到当前工作区中:

load(filename)

文件名类似于“data.mat”

在此之后,您应该在工作区中拥有您的 2D 数组......让我们假设它被命名为“数据”。如果第一行是 X 轴,第二行是 Y 轴,则使用:

plot(data(1,:), data(2,:))

MATLAB 中的 ':' 选择二维数组中的每一列。然后,您可以使用以下内容查找超过阈值的所有值索引:

indexes = find(data(1,:) > threshold)

如果您想在阈值处使这些值饱和,请执行以下操作:

data(1,indexes) = threshold

.mat 文件的大小不应该改变每个功能需要多长时间才能完成。

编辑:你的问题陈述含糊不清,所以希望我能正确理解你。如果我不明白你想要什么,请告诉我。

于 2013-10-04T15:31:15.770 回答