hwo can i solve matlab error in this code
1 次查看(过去 30 天)
显示 更早的评论
Dear;
Hwo can i solve the error in line 10
error is: Error using sub2ind
Too many output arguments.
clc;
clear all;
A=rand(6,6);
td = A;
pairidx = 0;
pairs = [];
while nnz(td(:) ~= 0 & ~isnan(td(:))) >= 2
std = size(td);
[maxd, maxidx] = max(td(:));
[maxr, maxc] = sub2ind(std, maxidx);
pairidx = pairidx + 1;
pairs(pairidx, :) = [maxr, maxc];
td(maxr, maxc) = nan;
td(maxc, maxr) = nan;
end
0 个评论
采纳的回答
Star Strider
2019-2-1
You are using the inverse of the function you want.
Try this:
[maxr, maxc] = ind2sub(std, maxidx);
The max function returns the linear index of the maximum element in ‘td’, so you want to convert it to subscripts.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discrete Math 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!