How can I remove a word from an array?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Marcela Ruiz de Chávez
am 4 Nov. 2013
Kommentiert: Marcela Ruiz de Chávez
am 4 Nov. 2013
This is what I have:
xA=[0 4 2 1]; wA=struct('name',{'person1' 'person2' 'person3' 'person4'},'num',num2cell(xA)); peopleA={wA.name}; numA=[wA.num]; [idxA,idxA]=max(numA); primeroA=peopleA{idxA} numAA=numA(numA~=max(numA)); [idxxA,idxxA]=max(numAA); segundoA=peopleA{idxxA}
I want to remove the maximum of the word, that is, the word contained in primeroA, in order to be able to calculate the second maximum without the words being rearrenged or altered.
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 4 Nov. 2013
xA=[0 4 2 1];
name={'person1' 'person2' 'person3' 'person4'};
[a,b] = unique(xA);
out = name(b(end-1));
0 Kommentare
Weitere Antworten (1)
Azzi Abdelmalek
am 4 Nov. 2013
Bearbeitet: Azzi Abdelmalek
am 4 Nov. 2013
xA=[0 4 2 1];
wA=struct('name',{'person1' 'person2' 'person3' 'person4'},'num',num2cell(xA));
peopleA={wA.name};
numA=[wA.num];
[idxA,idxA]=sort(numA,'descend');
primeroA=peopleA{idxA(1)}
segundoA=peopleA{idxA(2)}
terceroA=peopleA{idxA(3)}
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!