将单元格行添加到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