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

采纳的回答

Star Strider
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 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by