Discretize and categorize data

4 次查看(过去 30 天)
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
I found my error,
it should be classes(d = i & e = j ) = c(i,j)

更多回答(0 个)

类别

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

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by