Getting mouse coordinates with x and y attached to them and displaying them in excel.

2 views (last 30 days)
Hello, everybody
A have an issue, I am trying to display the xy coorsdinates of the mouse clicks to an excel sheet. The things is that I am only able to write the numbers but cannot attach x or y to the assigned cell.
here's the code:
[x,y]=ginput(50200)
sheet=1;
xlRange = 'A2';
xlswrite('coordinates.xls',x,sheet,xlRange);
ylRange = 'B2';
xlswrite('cncface.xls',y,sheet,ylRange);
So, my question is, how can i get the coordinates along with 'x' or 'y' attached to them? Displaying the coordinates several times.
Thank you.

Accepted Answer

Matt Kindig
Matt Kindig on 25 Mar 2013
Convert x and y to cell arrays with the desired leading text ('x' or 'y'):
xs = [ repmat('x', size(x)), num2str(x)];
ys = [ repmat('y', size(y)), num2str(y)];
Now call xlswrite with xs instead of x, and ys instead of y.
  5 Comments
Walter Roberson
Walter Roberson on 25 Mar 2013
Did you try the cellstr() variation? Another way of coding it would be
xs = cellstr( num2str(x, 'x%.2f') ); %two decimal places
ys = cellstr( num2str(y, 'y%.2f') );

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 25 Mar 2013
towrite = {'x'; num2cell(x(:))};
xlrange = 'A1'; %note modification of range
xlswrite('coordinates.xls', towwrite, sheet, xlRange);
towrite = {'y'; num2cell(y(:))};
ylrange = 'B1'; %note modification of range
xlswrite('cncface.xls', towrite, sheet, ylRange);
Is it correct that you are wanting to write them to different files?
  1 Comment
Maria Lopez
Maria Lopez on 25 Mar 2013
Didnt work, It only writes x and y to A1 and B1. The coordinates ar not shown, but thank you. (Typo, they both go to the same file: cncface.xls)

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!