| 查看: 454 | 回复: 1 | ||
[求助]
matlab优化去掉for,用矢量化运行,这样为什么不行呢?
|
|
clc; clear; ny0=64; fi=2*pi/16; t=2.8; I=1i; H0=zeros(ny0,ny0); H1=zeros(ny0,ny0); for j=1:ny0 if(mod(j,2)==1) m=(j+1)/2; else m=j/2; end Ax=-(m-1)*fi*0.5; if (mod(j,4)==1) H0(j,j+1)=t*exp(I*Ax); if(j==1) H0(j,ny0)=t; else H0(j,j-1)=t; end end end 这里for换成矢量运算,有个哥们给个算法,但是没看懂,请指教: tmpcond=mod((1:ny0),4)==1; H(tmpcond,[false;tmpcond(1:end-1)])=t*exp(I*Ax); 我试着运行一个简单的: tmpcond=mod((1:ny0),4)==1; H1(tmpcond,[false;tmpcond(1:end-1)])=t; 结果出错了: Error using vertcat CAT arguments dimensions are not consistent. Error in youhuaxuexi (line 30) H1(tmpcond,[false;tmpcond(1:end-1)])=t; |
» 猜你喜欢
【长期招聘】复旦大学 AI 制药实验室 博士后招聘
已经有11人回复
2027博士申请-临床检验诊断学、病原生物学、微生物方向
已经有5人回复
各位基础老师们,看完中央《从严治党》的决定后,对学术界更加有信心了吧
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab 高维数组插值 矢量化 避免for循环
已经有5人回复
【活动or资源】vasp晶体结构优化
已经有142人回复


2楼2012-12-05 15:15:35










回复此楼