将单元格行添加到matrix

我正在用matlab读取excelfile

[NUM,TXT,RAW]=xlsread(DATENEXCEL,sSheet_Data); 

在excelfile中是不同的数据表在以下forms的不同表中

 Date Firm1 Firm2 Firm3 ... 1.1.16 12 12 12 ... ... ... ... 

目前我正在用NUM对象和TXT对象的标题行处理纯数据。 我的第一个问题是如何组合标题行与数据行。 循环不起作用,因为我预先定义了数据matrix

 daten=zeros([length(sDatesequence) size(RAW,2)]); 

因为我希望能够将来自不同来源的更多数据添加到该对象。 然而,用零预定义会导致Matlab期望双打而不是字符。 使用cell2mat转换单元格arraysTXT会产生令人不满意的结果:

 cell2mat(TXT(1,:))=Firm1Firm2Firm3... 

因此只有一个长的string向量。

问题:是否有另一种方法来组合字符向量和双matrix?

问候,理查德

你可以将它们组合在一个单元格arrays中。

 c{1,1} = 'Firm1'; c{1,2} = datavector; c{2,1} = 'Firm2'; c{2,2} = datavector; 

但据我所知,不可能把文本标题添加到数字matrix,除非你用typcasting做某些事情。 但我不会推荐的。

 d(1:8)='Firm1 '; %must have exactly eight characters (a double has a length of 8 bytes) y = typecast(uint8(d),'double') %now you have a number that would fit in a matrix of doubles x=char(typecast(y,'uint8')) %now it's converted back to text