Hello,
I have two arrays of same size with values ranging from 0-1. I want to first discretize the values in each array and hten create a new array that give all possible combination a unique value, something like
classes(a ==1 & b ==1 ) = 1;
classes(a ==1 & b == 2) = 2;
...
classes(a == 7 & b ==7) = 49;
My dummy code is not working the way I want, all values in 'classes' remain 0. Where am I messing this up? Thanks.
a = rand(10);
b = rand(10);
c = 1:49;
c = flipud(reshape(c,[7 7])');
edges = linspace(0,1,7);
d = discretize(a,edges);
e = discretize(b,edges);
classes = zeros(size(a));
for i = 1:7
for j = 1:7
classes(a == i & b == j) = c(i,j);
end
end

 채택된 답변

Elin Jacobs
Elin Jacobs 2022년 12월 9일

0 개 추천

I found my error,
it should be classes(d = i & e = j ) = c(i,j)

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2022년 12월 9일

답변:

2022년 12월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by