2016-02-19 90 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