Getting Coordinate input from user

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 Commenti

it doesn't assign the input to the variables
Please do not explain, what the code does not do, but mention, what the code does do. An exact description contains a hint of the way to solve the problem usually.
it just gives an error of too many output arguments
Jan
Jan il 16 Ott 2018
Please post a complete copy of the message in the forum. You see, that the message explains the problem already.

Accedi per commentare.

 Risposta accettata

Jan
Jan il 16 Ott 2018
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 Commenti

this actually works but then the user has to input each coordinate in a separate line. I want the user to input 2 numbers at once but assign each to a separate variable, Is this doable?
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 il 19 Ott 2018
Modificato: Morteza Ghafoori il 19 Ott 2018
Yes, That's exactly what I wanted. Thanks a lot

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by