find the euclidean distance

1 次查看(过去 30 天)
vasantha malairamar
评论: Jan 2017-4-5
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));

回答(2 个)

Walter Roberson
Walter Roberson 2017-4-5
D =(sum((fe{bd,fd}-U(bd,fd)).^2));

Jan
Jan 2017-4-5
编辑:Jan 2017-4-5
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.

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by