2016-02-19 91 views
0

我想让我的matlab脚本将X和Y分隔成两个文件,但我不确定如何区分它们。我的代码如下所示:分离x和y信息

close all 
clear all 
clc 

jpgFiles = dir('*.jpg'); 
numFiles = length(jpgFiles); 
mydata = cell(1,numFiles); 

% mydata = zeros(numFiles); 
for k = 1:numFiles 
    mydata{1,k} = imread(jpgFiles(k).name); 
end 
% initialize your array of coordinates 
data = zeros(30,2,numFiles); 

for k=1:numFiles 
    figure; 
    imshow(mydata{k}); 
    [x, y] = ginput(30) %select 30 points on the image and return the 
         %xy coords in return 
    data(:,:,k) = [x y]; %save the xy coords as data matrix 
end 
%Get data into a csv text file for easy export to excel 
filename = 'test.csv'; 
csvwrite(filename,data) 

我试图写"data(:,:,k) = [x y];"到2线,一条X和一个与年,但不起作用。 任何人都可以帮助我,因为它会为我节省很多时间,因为我只需要Y信息。

回答

0

随着[x y]您连接变量xy,例如,如果

x = 
    1 
    2 
    3 

y = 
    3 
    2 
    1 

,然后[x y]将导致

ans = 
    1 3 
    2 2 
    3 1 

当你只需要y协调,根本这样做;-)初始化data到只有1列,而不是两个:

data = zeros(30,1,numFiles); 

,并使用写它

data(:,:,k) = y; 

-

另外,如果你需要x信息用于其他目的(我不是100%确定你的问题是如何意味着,所以这是一种方式,如果你的意思这样),那么你不想做我上面提出的改变。相反,只写的data CSV文件的第二列,使用

csvwrite(filename,data(:,2,:)) 

这意味着:只需要的data第二列,并将其写入filename