can this loop be vectorized

1 次查看(过去 30 天)
Can this loop be vectorized?
a=[5,7,8,5,6];
n=length(a);
b=a;
c=zeros(n,n);
for i=1:length(a)
for j=1:length(a)
if a(i)==b(j)
c(i,j)=0;
end
if a(i)~=b(j)
c(i,j)=1;
end
end
end
c
It returns
0 1 1 0 1
1 0 1 1 1
1 1 0 1 1
0 1 1 0 1
1 1 1 1 0

采纳的回答

Guillaume
Guillaume 2019-3-1
c = a ~= a.' %works since R2016b
prior to R2016:
c = bsxfun(@ne, a, a.') %ne is the function name of ~=

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Special Functions 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by