2016-04-28 74 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