2016-04-28 76 views
0

我有100 .xlsx文件。每個文件都有100 * 100(行*列)。我用吹碼來讀取它們。從單元陣列中繪製數據

clear; 
clc; 
M= 100; 
data = cell(1, M); 
    for k = 1:N 
    N= sprintf('Data%d.xlsx', k); 
    data{k} = importdata(N); 
end 

我有問題

  • 我如何可以繪製每個列列數2開始對列NUMBER1所有矩陣夫妻?每個矩陣我應該有99個圖。
  • 如何從結構中提取數據以對其進行一些操作?我應該有100個大小的矩陣(100 * 100)。

我嘗試了下面的代碼來提取數據,但它不工作。它僅保存一個矩陣

for i=1:100 
    z=data{1,i}.data; 
end 

我想這個代碼,以使3D矩陣

data=zeros(100,100,100) 
M= 100; 
for k = 1:M 
    N = sprintf('file%d.xlsx', k); 
    data(:,:,k)=importdata(N); 
end 

感謝

+0

你是否在第二個索引cicle的東西? – 16per9

+0

如果你的矩陣都是100 * 100,我建議不要首先使用單元格。你可以定義一個矩陣'data = zeros(100,100,100)',並在你的循環中設置'data(:,:,k)= importdata(N)'。然後它只是標準繪圖 – BillBokeey

+0

@BillBokeey,我使用上面的代碼將數據更改爲3D矩陣,但我仍然有問題如何從結構中提取數據 – user6052232

回答

0

所以你的問題是有點混亂,但我想我知道你的」重新過後。您有沒有使用XLSREAD的原因?

for i = 1:100 
    [data{i},~,~] = xlsread(sprintf('Data%d.xlsx',i)); 
end 

for i = 1:length(data) 
    for j = 2:size(data{i},2) 
     figure; 
     plot(data{i}(:,1),data{i}(:,j) 
    end 
end