需求:
现再matlab中想把他们读到一个一维行向量中(用matlab很方便!),一行数据一行数据的排。
即:2 3 8 10 6 2 12 3
操作如下:
f_file = 'ceshi.txt'
data_org = load(f_file); % 自动去掉多余字符,变成一个二维数组
[m,n] = size(data_org);
data = reshape(data_org, 1, m*n) % 重排这个二维数组即可——排成一个行向量。
后记:
说明:上面的是错的!!!!!!!!!!!!!!!!!
结果是:2 6 3 2 8 12 10 3
原因:我忘记matlab的矩阵排序默认是“按列”来的!reshape是把数据一列一列的写到一行中!
修改很简单:
data_org = load(f_file)'; % 读入的矩阵多叫一个转置即可~
说明:转置的作用就是先把原数据顺序"行的转成列的"!后面reshape重排是按列来的,此时也就按照我们想要的按原数据的行来排了。