not take into account zeros in a graph

Hi,
I have to make a graph of a few points. In these points there are zeros, like [3 0 2 0 0 0 5 0 2 0 0 0 4 0 1 0 0 8]. I want to connect the positive integers, but without the line going trough the zeros. How can I manage this?
Kind Regards, Bart

回答 (2 件)

Andrei Bobrov
Andrei Bobrov 2012 年 3 月 12 日

0 投票

z = [3 0 2 0 0 0 5 0 2 0 0 0 4 0 1 0 0 8]
[i1,i1] = find(z)
plot(i1,z(i1));grid on

3 件のコメント

Bart
Bart 2012 年 3 月 12 日
Thnx, helped me. What is [il, il] doing?
Andrei Bobrov
Andrei Bobrov 2012 年 3 月 12 日
index of 'z'
Jan
Jan 2012 年 3 月 12 日
index=find(z) is sufficient, because the 2nd index is not needed.

サインインしてコメントする。

carmen
carmen 2012 年 3 月 12 日

0 投票

another way is to use
z=[3 0 2 0 0 0 5 0 2 0 0 0 4 0 1 0 0 8];
z(z=0)=[] % now z == [3 2 5 2 4 1 8]
plot(z)
this codes removes the zero-valued indices, that means that the size z will decrease by the amount of zero values that were there before. however, not always this makes sense to a problem, particularly if the x-axis-spacing needs to stay unchanged.

カテゴリ

ヘルプ センター および File ExchangeGraph and Network Algorithms についてさらに検索

タグ

質問済み:

2012 年 3 月 12 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by