Matrix manipulation
Ältere Kommentare anzeigen
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.
Antworten (4)
the cyclist
am 25 Mär. 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 Kommentare
Karen Rafferty
am 25 Mär. 2011
Matt Fig
am 25 Mär. 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
am 25 Mär. 2011
Matt Fig
am 25 Mär. 2011
Yes, what version are you using, because this works find on my system.
Try this:
sum((Groundtruth-double(Haarbk2)).^2)
Karen Rafferty
am 25 Mär. 2011
Sean de Wolski
am 25 Mär. 2011
M3 = sum((Groundtruth(:)-double(Haarbk2(:))).^2);
Karen Rafferty
am 25 Mär. 2011
0 Stimmen
3 Kommentare
Matt Fig
am 25 Mär. 2011
So what does this return:
class(Groundtruth)
class(Haarbk2)
Karen Rafferty
am 25 Mär. 2011
Sean de Wolski
am 25 Mär. 2011
Yes. You can't have a negative unsigned integer.
Haarbk2 = double(Haarbk2);
Karen Rafferty
am 25 Mär. 2011
0 Stimmen
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!