Matrix manipulation
Mostrar comentarios más antiguos
Hi I'm new to Matlab and seem to be struggling again. I'm trying to subtract corresponding elements from two image matrices i.e.
matrix 1= A B matrix 2= a b C D c d
I'm trying to get (A-a)^2+(B-b)^2.....
Thanks in advance for any help, it;s really appreciated.
Respuestas (4)
the cyclist
el 25 de Mzo. de 2011
Not 100% if this is what you mean, but ...
M1 = [1 2 3 4];
M2 = [5 6 7 8];
M3 = (M1-M2).^2;
5 comentarios
Karen Rafferty
el 25 de Mzo. de 2011
Matt Fig
el 25 de Mzo. de 2011
No FOR loop is needed.
M3 = sum((M1-M2).^2)
If you expect a scalar from the operation, do this:
M3 = sum((M1(:)-M2(:)).^2)
Karen Rafferty
el 25 de Mzo. de 2011
Matt Fig
el 25 de Mzo. de 2011
Yes, what version are you using, because this works find on my system.
Try this:
sum((Groundtruth-double(Haarbk2)).^2)
Karen Rafferty
el 25 de Mzo. de 2011
Sean de Wolski
el 25 de Mzo. de 2011
M3 = sum((Groundtruth(:)-double(Haarbk2(:))).^2);
Karen Rafferty
el 25 de Mzo. de 2011
0 votos
3 comentarios
Matt Fig
el 25 de Mzo. de 2011
So what does this return:
class(Groundtruth)
class(Haarbk2)
Karen Rafferty
el 25 de Mzo. de 2011
Sean de Wolski
el 25 de Mzo. de 2011
Yes. You can't have a negative unsigned integer.
Haarbk2 = double(Haarbk2);
Karen Rafferty
el 25 de Mzo. de 2011
0 votos
Categorías
Más información sobre Logical en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!