MATLAB Answers

How to plot the content of a Structure without using a for loop?

3 views (last 30 days)
I need to plot the content of a structure fiel:
Each row in the column Position is made by 2 elements (x and y). I need to plot all the rows at once on a scatter plot.
I can access the first value of the first row/column. But I would like to plot all the column values without using a for loop.
Is that possible?
Thanks in advance!


Sign in to comment.

Accepted Answer

Ahmet Cecen
Ahmet Cecen on 6 Apr 2018
Edited: Ahmet Cecen on 6 Apr 2018
Yes, in a way that is not apparent at first look, but very simple when you think about it:
I believe you can figure out the rest after this critical piece of information.


David Franco
David Franco on 6 Apr 2018
It's not working...
For instance, if I use:
I get a 1x2 vector ([-0.4681 0.2270]) that is my (x,y) coordinates. If I plot this:
I get 2 points plotted...
If I try to plot all points at once:
I get the error message:
Expected one output from a curly brace or dot indexing expression, but there were 50 results.
By the way, with your command ([pop.Position]) I get 50 answers, 1x2 each...
Ahmet Cecen
Ahmet Cecen on 6 Apr 2018
Its just:
Do that and check the answer. A simple reshape will solve your problem after that.
Edit: Fixed Braces.
David Franco
David Franco on 6 Apr 2018
It worked with your suggestion plus buffer function:
a = [pop.Position];
b = buffer(a,2)';
Because using just [pop.Position] a get an 1xN vector. That's why it wasn't working.
Many thanks!

Sign in to comment.

More Answers (0)

Translated by