Get a user to input corordinates to form a matrix.

9 views (last 30 days)
Hi I have the matrix;
points = [2 5; 6 9; 7 8; 9 10; 6 10]
I want to make it that the user inputs the points and a subsequent matrix is created. I think if I make a 2 x n matrix of zeros and get the user to input how many coordinates there is. But then I am stuck on how to ask the user to enter the coordinates. Could I use matrix manipulation with the input function to ask for the x and y values etc?
NOTE: These points are x and y coordinates i.e. 2 5 the x coordinate is 2 and the y coordinate is 5. I was also thinking maybe I could load a csv file and have the user specify the points in a table. I would prefer the aforementioned method if possible.
Thanks,

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 23 Mar 2014
Edited: Azzi Abdelmalek on 23 Mar 2014
You can try this
x=input('enter x coordinates between square bracket, like [1 2 3] ')
y=input('enter y coordinates between square bracket, like [1 2 3] ')
You can also use inpudlg
n=10; % number of lines
a= inputdlg('enter x coordinates','test',n)
x=str2num(a{1})
b= inputdlg('enter y coordinates','test',n)
y=str2num(a{1})

More Answers (1)

Mischa Kim
Mischa Kim on 23 Mar 2014
Enter x- and y- coordinates, values separated by an empty space:
prompt = {'x-coor:','y-coor:'};
name = 'Input coordinates';
numlines = 1;
answer = inputdlg(prompt,name,numlines)
points = [str2num(answer{1}); str2num(answer{2})]';
  2 Comments
Giuseppe
Giuseppe on 24 Mar 2014
I prefer the layout of this dialogue. How could I use that layout with this code so that there is only one dialogue?
n=10; % number of lines
a= inputdlg('enter x coordinates','test',n)
x=str2num(a{1})
b= inputdlg('enter y coordinates','test',n)
y=str2num(a{1})
Thanks.
Azzi Abdelmalek
Azzi Abdelmalek on 24 Mar 2014
n=3; % number of lines
ab= inputdlg('enter x and y coordinates','test',n)
xy=str2num(ab{1})

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!