Draw Lines between Points in MATLAB

  1. Hi,

    I have a matrix V, which is a 5-by-2 matrix, where each row represents a point in the xy-plain. How can I connect these points together in MATLAB, please?

    Thanks in advance
     
  2. jcsd
  3. jhae2.718

    jhae2.718 1,160
    Gold Member

    plot(V(:,1),V(:,2)) should do it, if I remember my matrix slicing.
     
  4. Ya, I tried this, but it does not work. It connects just between three points. I need to connect between all points to form a closed graph, starting from a point and ending at the same point.

    Thanks
     
  5. jhae2.718

    jhae2.718 1,160
    Gold Member

    It only plots three points? :confused:

    I think you should be able to get a connected graph by appending the start point onto the matrix (getting a 6x2) and then using plot.
     
  6. Thank you very much. It is now working perfectly.
     
  7. jhae2.718

    jhae2.718 1,160
    Gold Member

    Glad to hear it.
     
  8. If I want to extend it to 3D, is it straightforward to do that?
     
  9. jhae2.718

    jhae2.718 1,160
    Gold Member

    You should probably be able to do something similar with plot3() for lines in R3.
     
  10. That indeed works, but this connects all the points together. Actually, in 3D I just want to connect the adjacent points only. How can I do that?
     
  11. jhae2.718

    jhae2.718 1,160
    Gold Member

    I'm not sure what exactly you mean by this...
     
  12. Neither do I. But basically, V is a matrix that contains the vertices of a polytope, and I want just to connect the adjacent vertices not all together. I am not sure how to know what are the adjacent vertices from V.

    Thanks
     
  13. jhae2.718

    jhae2.718 1,160
    Gold Member

    You may have to break the matrix up into matrices such that plot3 will produce the lines connected the way you want.

    Another option is to look on the file exchange and see if there's anything you can use there. http://www.mathworks.com/matlabcentral/fileexchange/
     
  14. Ok, I will. Thank you.
     
  15. jhae2.718

    jhae2.718 1,160
    Gold Member

    I think there may be a file on the exchange that will do what you want, otherwise I'm afraid I don't know of a built in function that will do what you want on only one call.
     
Know someone interested in this topic? Share this thead via email, Google+, Twitter, or Facebook

Have something to add?