gathering two cells in confusion matrix

1 visualización (últimos 30 días)
Salma Hassan
Salma Hassan el 2 de Abr. de 2020
Editada: Salma Hassan el 3 de Abr. de 2020
If I have a 4*4 confusion matrix array [1 1 3 2; 1 0 2 1 ; 7 4 3 1; 5 6 3 7]. how can I combining both 2*2 regions are next to each other in order to constract a new array of 2*2 [3 8; 22 14]

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 2 de Abr. de 2020
Editada: Fangjun Jiang el 2 de Abr. de 2020
If you have the Image Processing toolbox,
a=[1 1 3 2; 1 0 2 1 ; 7 4 3 1; 5 6 3 7];
fun = @(block_struct) sum(block_struct.data(:));
blockproc(a,[2 2],fun)
ans =
3 8
22 14
if Not,
a=rand(6,9);
RowBlock=2;
m=size(a,1)/RowBlock; % make sure m is an integer
ColBlock=3;
n=size(a,2)/ColBlock; % make sure n is an integer
b=mat2cell(a,repmat(RowBlock,1,m),repmat(ColBlock,1,n));
c=cellfun(@(x) sum(x(:)), b)
  1 comentario
Salma Hassan
Salma Hassan el 3 de Abr. de 2020
Editada: Salma Hassan el 3 de Abr. de 2020
actually the first one works well, however it takes a long time within a loop.
kindly, could you explain the second solution becouse i didn't understand it

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by