find the euclidean distance

1 view (last 30 days)
vasantha malairamar
vasantha malairamar on 5 Apr 2017
Commented: Jan on 5 Apr 2017
for bd=1:144
for fd=1:128
D =(sum((fe(bd,fd)-U(bd,fd)).^2));
s=sqrt(D);
end
end
Undefined operator '-' for input arguments of type 'cell'.
Error in samptest (line 239) D =(sum((fe(bd,fd)-U(bd,fd)).^2));

Answers (2)

Walter Roberson
Walter Roberson on 5 Apr 2017
D =(sum((fe{bd,fd}-U(bd,fd)).^2));
  2 Comments
Jan
Jan on 5 Apr 2017
Then U is a cell also?!

Sign in to comment.


Jan
Jan on 5 Apr 2017
Edited: Jan on 5 Apr 2017
The error message is clear: One or two of the arguments of the - operation is a cell, but you cannot perform arithmetic operations with cells.
Use the debugger to find the reason of your problem. Type this in the command window:
dbstop if error
Now run the code and wait until Matlab stops at teh error. Now check the types of the locally used variables:
% D =(sum((fe(bd,fd)-U(bd,fd)).^2))
class(fe)
class(U)
Perhaps walter's suggestion does not work, if if was not fe but U -- well, his idea is still correct and I'd expect you can apply the changes for U by your own.

Community Treasure Hunt

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

Start Hunting!