Getting Coordinate input from user

3 次查看(过去 30 天)
I want to get several point 2d coordinates from the user and store the x and y coordinates in separate arrays. I'm using a for loop to do it but it doesn't assign the input to the variables, here's how I'm doing it:
for i=1:5
[x(i),y(i)]=input('Coordinates of Node')
end
  3 个评论
Morteza Ghafoori
Morteza Ghafoori 2018-10-16
it just gives an error of too many output arguments
Jan
Jan 2018-10-16
Please post a complete copy of the message in the forum. You see, that the message explains the problem already.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2018-10-16
According to the documentation, |input< has 1 output only:
help input
doc input
Then:
x = zeros(1, 5); % Pre-allocation
y = zeros(1, 5);
for i = 1:5
reply = input('Coordinates of Node')
x(i) = reply(1);
y(i) = reply(2);
end
The pre-allocation is not essential here, because waiting for the user input will take much more time than expanding the arrays x and y. But it is a good programming practice.
  3 个评论
Jan
Jan 2018-10-16
In a separate line? What did you try to get this impression? Maybe you want this:
for i = 1:5
reply = input(sprintf('Coordinates of Node %d: ', i), 's');
num = sscanf(reply, '%g %g');
x(i) = num(1);
y(i) = num(2);
end
Morteza Ghafoori
Morteza Ghafoori 2018-10-19
编辑:Morteza Ghafoori 2018-10-19
Yes, That's exactly what I wanted. Thanks a lot

请先登录,再进行评论。

更多回答(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