我有一个向量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];
答案 0 :(得分:1)
假设您的格式与您所显示的格式完全一样(连续数字之间的NaN),则以下内容应该有效。
首先识别NaN开始和结束的指数
inds = [1 diff(isnan(a1))] ~= 0;
现在初始化a2
并复制a1
a2 = nan(size(a1));
a2(inds) = a1(inds);