找到数组中向量的所有点,并给它们赋一个不同的值。

2次浏览(过去30天)
嗨,我有特定的时间点沿着我的时间轴,我想分配一个不同的数字。假设我有一个从1到2000年的时间轴,我有一个在时间轴上有不同数量时间点的向量(在1到2000年之间)。我想创建一个名为indicator的新向量,其中所有特定的时间点都被赋值为1,而我的时间轴上所有其他时间点都被赋值为0。以下是我所拥有的:
计数器= 0;
对于ii = 1:长度(时间轴)
如果ii == specific_time_points
计数器=计数器+ 1;
指示器(计数器)= ii;
指标= 1;
Else指示符= 0;
结束
结束
但是,“指示器”现在只有一个值为0,相反,我希望它给出一个长度为2000的向量,其中1是我的specific_time_points,其余的时间轴为零。
我不知道自己哪里做错了,希望有人能帮帮我。
1评论
洛伊斯Slangen
洛伊斯Slangen 2019年8月14日
我应该提到的是,我有两个不同的向量,假设specific_time_points1和specific_time_points2具有相同的时间轴。我的新矢量指示器应该包含一个1,其中specific_time_points1和/或specific_time_points2在时间轴中,其他地方都是零。

登录评论。

接受的答案

安德烈Kiselnikov
安德烈Kiselnikov 2019年8月14日
大家好,就是这里
A = 1:1:10;
B = [1 3 5];
> > ismember (a, b)
ans =
1×10个逻辑数组
1 0 1 0 1 0 0 0 0 0
如果我的帮助是有用的,请标记回答为接受!
5个评论
安德烈Bobrov
安德烈Bobrov 2019年8月14日
指标= ismember(时间轴,...
[specific_time_points1 (:); specific_time_points2 (:)));

登录评论。

更多答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!