MATLAB: Index a number of coordinates as vertex(1), vertex(2), … vertex(n) by using a for loop and vertex(n) = [x(1,n) y(1,n)]

for loopindexing

I am trying to index the vertices as vertex(1) ,vertex(2), vertex(n), but I have not been successful. Can I achieve this in the below for loop? Or do I need a seperate for loop? Currently when run, this section reads the error:
"Unable to perform assignment because the indices on the left side are not compatible with the size of the right side."
No_vertices = input('Enter number of vertices: ');
for n = 1:No_vertices
x(1,n) = input('Enter x-coordinate:');
x(n) = x(1,n);
y(1,n) = input('Enter y-coordinate:');
y(n) = y(1,n);
vertex(n) = [x(n) y(n)];
n = n + 1;
end
Here, I enter the number of vertixes in a polygon, the for loop allows me to enter the x and y coordinates for the number of vertices I input. The x and y coordinates are stored and able to be used later as x(1), x(2), .. x(n) and y(1), y(2), …y(n).

Best Answer

Are you perhaps trying to do something like this?
No_vertices = input('Enter number of vertices: ');
x = zeros(1,No_vertices);
y = zeros(1,No_vertices);
vertex = zeros(2,No_vertices);
for n = 1:No_vertices
x(1,n) = input('Enter x-coordinate:');
y(1,n) = input('Enter y-coordinate:');
vertex(1,n) = x(1,n);
vertex(2,n) = y(1,n);
end
You don't need to increment iterator of the for loop, "for" does that automatically.
Otherwise, I do not understand what you were trying to do.