Jump to content
Borboleta

Não representar pontos de coordenadas zero

Recommended Posts

Borboleta

Bom dia,

tenho um programa em matlab para fazer a representação gráfica em 3d da variação de coordenadas de objectos ao longo tempo numa sequencia de video.

Faço o plot 3d das cordenas x (vetor x) e das coordenas y (vetor y) em k (variação do tempo).

Ele representa-me bem mas apresenta os pontos de coordenas x e y igual a zero.

O que pretendo é o programa não me represente esses pontos, ou seja, quando os encontra ue leia como se aquele espaço esteja vazio e apenas me represente os pontos em que x ou y sejam diferentes de zero.

Já usei expressoes como

x = nonzeros(x) ou x(x==0)=[], mas isto faz com que os valores me aparecam todos na mesma coluna, ou seja, deixa de distinguir os objectos.

Alguém me consegue ajudar?

Share this post


Link to post
Share on other sites
Rui Carlos

À partida vais ter que filtrar ambos os vectores em simultâneo. Não sei se existe alguma função para fazeres isso, mas deves conseguir o que pretendes recorrendo a um ciclo.

Share this post


Link to post
Share on other sites
Borboleta

o problema é que os dados estão em coluna,e eu queria que ele me repreentasse admitindo que a coluna 1 do x e y são o objecto 1, a coluna 2 o objecto 2 e assim sucessivamente. Com um ciclo ao me percorrer linhas e colunas ele encontra um ponto para o objecto 1 que não é zero zero e ao fazer o plot nessa liha representa o ponto 00 para o objeto 2.

Eu fiz isto, mas fico com esse problema.

for o=1:m(1)
   for p=1:m(2)
       if (x(o,p)~=0 && y(o,p)~=0)

           plot3(x(o,p),y(o,p),vet_kk(o),'b*')
           hold on  
       end
   end
end

exemplo de x e y

        0         0
        0         0
        0         0
   0.4889         0
   0.4832    0.9652
   0.4778    0.9845
   0.4702    0.9921
   0.4637    0.9985
   0.4575    1.0103
   0.4513    1.0308
   0.4433    1.0471
   0.4345    1.0553
   0.4300    1.0642
   0.4260    1.0749
   0.4229    1.0955
   0.4138    1.1150
   0.4027         0


y =

        0         0
        0         0
        0         0
 143.3685         0
 184.9018  213.2936
 225.2236  292.3747
 276.0249  327.3544
 320.9714  355.5807
 367.8223  413.2573
 410.0215  505.2317
 472.3125  573.6402
 543.6964  610.5286
 584.4361  650.2429
 626.3175  706.5953
 662.9669  817.6907
 756.3033  908.3571
 877.6788         0

Já agora, alguem me sabe dizer se existe alguma função que me faça a representação de cada coluna de x e y a cores diferentes?

Obrigada

Edited by thoga31
GeSHi e tags CODE em geral

Share this post


Link to post
Share on other sites
Borboleta

O que quero fazer é representar os pontos por colunas, ou seja a primeira coluna do x com a primeira do y e assim sucessivamente por cores diferentes para distinguir e que não me sejam representados todos os pontos de coordenadas (0,0).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.