MATLAB如何将一维数组转化为三维数组
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/17 19:37:01
MATLAB如何将一维数组转化为三维数组
比如一个含有2400个数据的一维数组,转化为6*30*15的三维数组
我的程序如下:(ttt:文件名)
[c1] =textread('input.txt','%f');
for i=1:6
for j=1:30
for k=1:15
b(k,j,i)=c1((i-1)*450+(j-1)*15+k);
end
end
end
dlmwrite('output.txt',b,'-append','delimiter',' ');
但一直出错,
Attempted to access c1(2401); index out of bounds because numel(c1)=2400.
Error in ==> ttt at 5
b(k,j,i)=c1((i-1)*450+(j-1)*15+k);
如果有知道用excel解决的办法更好.
比如一个含有2400个数据的一维数组,转化为6*30*15的三维数组
我的程序如下:(ttt:文件名)
[c1] =textread('input.txt','%f');
for i=1:6
for j=1:30
for k=1:15
b(k,j,i)=c1((i-1)*450+(j-1)*15+k);
end
end
end
dlmwrite('output.txt',b,'-append','delimiter',' ');
但一直出错,
Attempted to access c1(2401); index out of bounds because numel(c1)=2400.
Error in ==> ttt at 5
b(k,j,i)=c1((i-1)*450+(j-1)*15+k);
如果有知道用excel解决的办法更好.
![MATLAB如何将一维数组转化为三维数组](/uploads/image/z/8433900-36-0.jpg?t=MATLAB%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84%E8%BD%AC%E5%8C%96%E4%B8%BA%E4%B8%89%E7%BB%B4%E6%95%B0%E7%BB%84)
6*30*15=2700,与原始数据量不同.所以...
用reshape一下子就转换了,不用编程.
用reshape一下子就转换了,不用编程.