我有这样的矢量:
a = [1 2 0 0 3 4 0 5]
我想绘制这个载体,但摆脱了Os。所以,我试过这个:
> b = (a>0);
> c = a(b);
> plot(c);
情节很好我对时间轴不满意。在时间轴上,我现在有连续的步骤;但我希望它是从a
到i
的{{1}}图的相应时间步长。所以,在这种情况下,我的时间表应如下所示:
c
有什么想法吗?
答案 0 :(得分:3)
只需用你的t定义一个变量,并在其上使用过滤器
a= [1 2 0 0 3 4 0 5]
t = 1:length(a)
idx=(a>0);
plot(t(idx), a(idx));
答案 1 :(得分:1)
find()
完全符合您的要求,返回每个非零值的索引。
a= [1 2 0 0 3 4 0 5];
b=find(a);
plot(b,a(b))
如果你只想要正值,你也可以将它挂钩到find:
b=find(a>0);
答案 2 :(得分:1)
将不需要的a
值设置为NaN
,plot
忽略它们并插入NaN
出现的行。
a(a==0)=NaN