Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-10-14
年龄: 39
帖子: 29
声望力: 17 ![]() |
![]()
各位大大,小弟有个问题想请教!
for i=1:row %列优先方式 for j=1:col t=mod(L(i,j),row); if t==0 t=row; xt1=floor(L(i,j)/row); else xt1=floor(L(i,j)/row)+1; end H(i,j)=E(t,xt1); end end 上面这段程序是我用来对图像像素位置根据矩阵L进行置乱的。是否可以优化提高MATLAB运行速度。 还有:for k=1:h G(k)=round(yq(k)*127); end 这段程序中,有提示说‘G’might be growing inside a loop. Consider preallocating for speed.这句话是什么意思 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26 ![]() |
![]()
lz 这句话的意思是 G的存储空间会随着循环次数的增加而变大 所以 为了提高效率 在预先可以确定G的大小的情况下 可以使用G=zeros(m,n)或者G=ones(m,n)进行存储空间初始化 类似于C语言的内存分配
Thx for reading. PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。 通过点击本人帖子旁边的ID 可以使用“发送悄悄话给silas_xue”与我进行联系 个人观点 仅供参考 多多交流 相互学习 |
![]() |
![]() |