查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,008
声望力: 66
poster 正向着好的方向发展
帖子 在Matlab中包含整数而不是双精度的矩阵

我有一个包含整数的大向量(长度:230 400,int8),我将其重新排列成3维矩阵(行:240,列:320,深度:3)。完成此操作后,新矩阵将包含双精度而不是整数(根据Matlab工作区)。

整个操作需要0.3秒,对于我来说,这太长了。

Matlab在将它们放入矩阵之前是否将数组中的整数转换为双精度?可以避免这种情况以加快速度吗?

一些代码:

tic; A=zeros(240,320,3); %A is matrix, B is vector. for i=1:240 for j=1:320 A(i,j,:)=B(1+(j-1)*3+(i-1)*320*3:3+(j-1)*3+(i-1)*320*3); end end toc; 谢谢!



回答:

尝试使用初始化矩阵

A=zeros(240, 320, 3, 'int8')

更多&回答...
poster 当前离线   回复时引用此帖