我正在尝试在matlab中加入2个不同的时间序列并创建一个公共时间向量,并希望得到一些帮助。我不想插入任何值,而是用NaN替换丢失的数据点,并在稍后用repnan函数填充它们,所以我不能在matlab中使用interp1或同步函数,因为我总是插入。 假设我有矩阵
a =
1 40
2 50
3 60
5 70
6 80
和
b =
2 60
3 70
4 80
5 90
7 100
然后我用
time = union(a(:,1), b(:,1))
获取我想要的公共时间向量
time =
1
2
3
4
5
6
7
现在我想要一个新的矩阵,我可以在a和b的值中找到值,当给定时间没有值时,可以得到NaN。例如,如果我使用
fill_a = ismember(time, a(:,1))
fill_a =
1
1
1
0
1
1
0
我希望a中的观察值与其中的值相同,并且NaN的位置为零,并将其放入具有公共时间戳的新矩阵中。 我希望它看起来像
finished =
1 40 NaN
2 50 60
3 60 70
4 NaN 80
5 70 90
6 80 NaN
7 NaN 100
感谢任何帮助。如果可能的话,我宁愿不要循环。提前谢谢。