how to fix this error 'interp2'
Show older comments
imshow(matrix(:,:,1))
%identify axes
[x y] = ginput(2);
% preallocate matrices
cog = zeros(size(matrix,3),1);
%cog
% loop start
for i = 1:size(matrix,3)
I = matrix(:,:,i);
n = ceil(norm([diff(x), diff(y)]));
test = interp2(I, linspace(x(1), x(2),n), linspace(y(1), y(2),n));
cog(i) = sum((1:length(test)).*test')/sum(test);
% loop end
end
scog = (cog - min(cog)) / (max(cog) - min(cog));
Answers (1)
Matt J
on 28 Jul 2022
0 votes
Because your first argument to interp2 is a matrix while the second is a scalar.
6 Comments
Matt J
on 28 Jul 2022
it's a typo,
You haven't fixed the typo in your post, so we don't know what your current code is. In addition to that, I suggest you provide us the means to run the code, in particular by attaching "matrix" in a .mat file.
Matt J
on 28 Jul 2022
We only need matrix(:,:,1) to trigger the error.
Steven Lord
on 28 Jul 2022
Categories
Find more on MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!