Get a user to input corordinates to form a matrix.

11 vues (au cours des 30 derniers jours)
Giuseppe
Giuseppe le 23 Mar 2014
Commenté : Azzi Abdelmalek le 24 Mar 2014
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,

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 23 Mar 2014
Modifié(e) : Azzi Abdelmalek le 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})
  1 commentaire
Giuseppe
Giuseppe le 24 Mar 2014
I like the idea of inpudlg. Thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Mischa Kim
Mischa Kim le 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 commentaires
Giuseppe
Giuseppe le 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 le 24 Mar 2014
n=3; % number of lines
ab= inputdlg('enter x and y coordinates','test',n)
xy=str2num(ab{1})

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by