我有一个数据:
data=[1 2 3 4 5 6 7 8];
我需要一个新的数据矩阵(4 x 8),如下所示:
new_data =[ 1 2 0 0 0 0 0 0
0 0 3 4 0 0 0 0
0 0 0 0 5 6 0 0
0 0 0 0 0 0 7 8 ]
如何使用FOR循环?有什么帮助吗?
答案 0 :(得分:3)
无需使用for循环
data = 1:8;
newdata = [reshape(data,2,4); zeros(8,4)];
newdata = reshape(newdata(1:32), 8, 4)';
如果您需要,这是一个使用循环的解决方案
clear('newdata');
for ii = 1:4
index = 2*(ii-1)+1:2*ii;
newdata(ii,index) = data(index);
end