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)]

8 次查看(过去 30 天)
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).

采纳的回答

Aditya Gupta
Aditya Gupta 2020-6-24
编辑:Aditya Gupta 2020-6-24
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by