How can I remove a word from an array?
2 views (last 30 days)
Show older comments
Marcela Ruiz de Chávez
on 4 Nov 2013
Commented: Marcela Ruiz de Chávez
on 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 Comments
Accepted Answer
Andrei Bobrov
on 4 Nov 2013
xA=[0 4 2 1];
name={'person1' 'person2' 'person3' 'person4'};
[a,b] = unique(xA);
out = name(b(end-1));
0 Comments
More Answers (1)
Azzi Abdelmalek
on 4 Nov 2013
Edited: Azzi Abdelmalek
on 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)}
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!