【发布时间】:2018-05-28 11:28:13
【问题描述】:
我有 2 个嵌套循环,它们执行以下操作:
- 获取矩阵的两行
- 检查索引是否满足条件
- 如果这样做:计算两行之间的 xcorr 并将其放入新向量中
- 找到子向量最大值的索引,并将
LAG矩阵的元素替换为该值
我不知道如何通过矢量化或其他方式加速此代码。
b=size(data,1);
F=size(data,2);
LAG= zeros(b,b);
for i=1:b
for j=1:b
if j>i
x=data(i,:);
y=data(j,:);
d=xcorr(x,y);
d=d(:,F:(2*F)-1);
[M,I] = max(d);
LAG(i,j)=I-1;
d=xcorr(y,x);
d=d(:,F:(2*F)-1);
[M,I] = max(d);
LAG(j,i)=I-1;
end
end
end
【问题讨论】:
标签: matlab performance optimization vectorization bsxfun