mink and maxk functions
Mostrar comentarios más antiguos
I'm using MATLAB R2017a. While trying to use "mink" and "maxk" functions, the MATLAB responds "Undefined function or variable 'maxk'." These two functions were introduced in R2017b. Is it possible to use these functions with R2017a? if yes, then how?
1 comentario
Stephen23
el 5 de Feb. de 2018
"These two functions were introduced in R2017b. Is it possible to use these functions with R2017a?"
No.
Respuesta aceptada
Más respuestas (1)
Salam Ismaeel
el 4 de Sept. de 2018
Editada: Salam Ismaeel
el 4 de Sept. de 2018
% function [B BIndex RestVector]= maxk2(A, k)
% Find k largest elements in a Vector A
% B : Vector with all max elements (included repeated)
% BIndex : idx of max k element
% RestVector : rest of the elements without max k elements
function [B BIndex RestVector]= maxk2(A, k)
B = 0;
RestVector = A;
sumIndex = 1;
for i=1:k
MaxA = max(A);
I = A == MaxA;
sumI = sum(I); %To find number of Max elements (repeated)
B(sumIndex: sumIndex+sumI-1) = MaxA; % to same max elements in B
BIndex(sumIndex: sumIndex+sumI-1) = find(A == MaxA);
sumIndex = sumIndex + sumI;
A(I) = min(A); % exchange the max elements by a smallest value
end
RestVector(BIndex) = []; % remove largest values
------------------------------ Example ------------------
>> x
x =
4 17 65 73 65 45 55 30 74 19
>> [x1 x1idx x1new ] = maxk2(x,4)
x1 =
74 73 65 65 55
x1idx =
9 4 3 5 7
x1new =
4 17
1 comentario
UET Hussain
el 5 de Sept. de 2018
Categorías
Más información sobre Correlation and Convolution en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!