删除重复的子元素

时间:2016-02-06 21:35:53

标签: matlab signals

我有一个向量a1,想要获得输出a2。基本上,我应该确定数字的起始索引,保留第一个值并将重复元素替换为NaN

a1=[-2 -2 -2 -2 NaN NaN NaN -3 -3 -3 -3 NaN NaN -2 -2 -2 NaN -3 -3 NaN NaN 1 1 1 1 NaN NaN 4 4 4 NaN NaN 3 3 3 NaN];

a2=[-2 NaN NaN NaN NaN NaN NaN -3 NaN NaN NaN NaN NaN -2 NaN NaN NaN -3 NaN NaN NaN 1 NaN NaN NaN 4 NaN NaN NaN NaN 3 NaN NaN NaN];

1 个答案:

答案 0 :(得分:1)

假设您的格式与您所显示的格式完全一样(连续数字之间的NaN),则以下内容应该有效。

首先识别NaN开始和结束的指数

inds = [1 diff(isnan(a1))] ~= 0;

现在初始化a2并复制a1

中的相关值
a2 = nan(size(a1));
a2(inds) = a1(inds);