Clear Filters
Clear Filters

can this loop be vectorized

1 view (last 30 days)
Bright Edison
Bright Edison on 1 Mar 2019
Commented: Bright Edison on 1 Mar 2019
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

Accepted Answer

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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!