将单元矩阵值复制到新矩阵MATLAB

时间:2013-12-10 22:56:12

标签: matlab csv matrix cell

我在.csv文件的单元格矩阵中有60个值,这些值存储在第15行的38556-38616行

我想将这个值范围复制到变量Value

中的常规数字60x1矩阵

以下是我的尝试:

Values(60,1) = data2{38556:38616,15};

它只复制data2中的1个值,1-59行中的其余值为0.我如何复制 这些值Value的顺序与文件中的顺序相同? data2是存储.csv文件值的单元格矩阵。

data2的图片:

enter image description here

2 个答案:

答案 0 :(得分:2)

无论

Values(1:61,1) = cell2mat(data2(38556:38616,15));

或只是

Values = [data2{38556:38616,15}]';

问题是你试图将61个值存储到一个矩阵元素中。

答案 1 :(得分:1)

顺便提一下,如果您不需要csv文件的全部内容,只需要一个子集,并且您正在读取的内容是数字,则可以使用dlmread直接从文件中获取该内容。例如:

values = dlmread('data.csv',',',[38555 14 38615 14]);

数值是起始位置和结束位置:[R1 C1 R2 C2]。对于R / C值,dlmread从零开始计数。您也可以使用电子表格样式,即'A4..G6',或者在我看来我会认为它是'O38556..O38616'