arrays - 比较不在循环中的向量的所有元素

标签 arrays performance matlab vector compare

我有一个 SIZE=1000 的自然数向量“New”。我想创建一个矩阵 A,其中如果 New(i)>New(j) 则元素 A(i,j)=1,否则为 0。我使用循环完成了此操作:

A=zeros(SIZE,SIZE);
for i=1:SIZE
  for j=1:SIZE
    if New(i)>New(j)
        A(i,j)=1;
    end   
  end
end

谁能建议更快更短的方法来解决这个问题?

谢谢!

最佳答案

这是 bsxfun 的明显案例:

A = bsxfun(@gt, New(:), New(:).');

关于arrays - 比较不在循环中的向量的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24426966/

相关文章:

performance - 为什么firefox在下载文档之前会阻止?

matlab - 索引必须出现在索引表达式的最后

javascript - 当前正在为公会袭击创建 'check-in' 命令

php - 作为 JavaScript 数组名称的变量

java - 性能:log(a/b) 与 log(a) - log(b)

excel - OFFSET 实际上是缓慢的还是不稳定的?

php - 用其他数组中的值填充数组中的空值

javascript - 如何从 Javascript 数组中提取图像并将它们放入 HTML 中?

matlab - 找不到显式积分

python - 将 matlab ODE 求解器转换为 python