how to fix this error 'interp2'
古いコメントを表示
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));
回答 (1 件)
Matt J
2022 年 7 月 28 日
0 投票
Because your first argument to interp2 is a matrix while the second is a scalar.
6 件のコメント
Matt J
2022 年 7 月 28 日
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
2022 年 7 月 28 日
We only need matrix(:,:,1) to trigger the error.
Steven Lord
2022 年 7 月 28 日
カテゴリ
ヘルプ センター および File Exchange で MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!