Noob problem: Defining a fumction and passing values issues an error "Subscript indices must either be real positive integers or logicals."

1 次查看(过去 30 天)
I have the following function:
function [ result ] = SSD( i1, i2 )
if size(i1) == size(i2)
[r, c] = size(i1)
result = -(sum(sum((double(i1) - double(i2)).^2)) / (r*c));
else
result = 'invalid';
end
I would like to pass it to images that contain gray values only and the error:
Subscript indices must either be real positive integers or logicals.
Popes up. For debugging purpuse I tried calling the function in this way:
SSD(zeros(3), ones(3));
The error is still there. But if I call the function in this way:
SSD(ones(3), ones(3));
No error. What is happening? Why doesn't the function like zero values?

采纳的回答

Jon
Jon 2015-9-21
Runs fine on my machine-no errors. 2015a. Do you have a variable named SSD or zeros?

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by