登录论坛

查看完整版本 : 在Matlab中包含整数而不是双精度的矩阵


poster
2019-12-14, 20:13
我有一个包含整数的大向量(长度: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')

更多&回答... (https://stackoverflow.com/questions/4768486)