24小时热门版块排行榜    

CyRhmU.jpeg
查看: 603  |  回复: 4

田山东

捐助贵宾 (著名写手)

[求助] matlab矢量排序,那种方法最高效?

问题是这样的:H1(64,64),H2(64,64)都是厄米矩阵
[V1,D1]=eig(H1);
[V2,D2]=eig(H2);
现在我想达到这样一种效果,重新排列V1,V2,让他们包含在V中,V的奇数列为V1,偶数列为V2,用for语句这么表示

for j=1:2:ns-1
    V(:,j)=V1(:,(j+1)/2);
    V(:,j+1)=V2(:,(j+1)/2);
end

我想用矢量化表示,因为这样速度有点慢了,用哪个语句表示最快?好像有个什么函数的,忘记了。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

everythinghasitsseason.enjoyyourlife.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

DD(1:2:ns-1,1:2:ns-1)=D1;
DD(2:2:ns,2:2:ns)=D2;

VV(1:ns/2,1:2:ns-1)=1/sqrt(2)*V1;
VV(1:ns/2,2:2:ns)=1/sqrt(2)*V2;

VV(ns/2+1:ns,1:2:ns-1)=-1/sqrt(2)*V1;
VV(ns/2+1:ns,2:2:ns)=1/sqrt(2)*V2;
作个几号
everythinghasitsseason.enjoyyourlife.
2楼2012-12-08 15:46:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

田山东

捐助贵宾 (著名写手)

如果一个大矩阵H(ns,ns),一个小矩阵h(ny,ny),让H对角元上都是h,该怎么操作?HH(1:ny:ns,1:ny:ns)=h;
这样为什么不行呢?
天行健(254575492)  16:43:44
for j=1:nx
H((j-1)*ny+1:j*ny,(j-1)*ny+1:j*ny)=h
end
这样才行,不想用for循环,怎么处理呢?
everythinghasitsseason.enjoyyourlife.
3楼2012-12-08 16:47:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

realghost828

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
VV = zeros(n,2*n);
VV[1:2:2*n] = V1;
VV[2:2:2*n] = V1;
人生就是要辉煌!
4楼2012-12-09 09:27:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

realghost828

金虫 (小有名气)

【答案】应助回帖

上面漏了冒号了。

VV = zeros(n,2*n);
VV[:,1:2:2*n] = V1;
VV[:,2:2:2*n] = V1;
人生就是要辉煌!
5楼2012-12-09 09:28:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 田山东 的主题更新
信息提示
请填处理意见