choose the 3 first lowest number in the cell after it sorted

5 views (last 30 days)
hello all,,
i wanna ask u about how to choose the 3 first lowest number in that cell after it sorted
this is my code
a= input ('Input Number of Data :');
for c=1:a
int2 = ['Input The First Score - ',num2str(c),' :'];
int3 = ['Input The Second Score - ',num2str(c),' :'];
str = ['Input Category ke - ',num2str(c),' :'];
b(c,1) = input(int2);
b(c,2) = input(int3);
f{c,4} = input(str,'s');
end;
for d = 1 : 1
int4= ['Input The First Data :'];
int5 = ['Input The Second Data :'];
e(d,1) = input(int4);
e(d,2) = input(int5);
end;
length = ( b(:,1) - e(1,1)).^2 + (b(:,2) - e(1,2)).^2
for i = 1:size(b,1)
for j = 1:2
f{i,j} = b(i,j);
end;
end
[key, index] = sort([f{:, 2}]);
sorted_f = f(index, :);
can anyone help me?
please

Accepted Answer

Jan
Jan on 21 Jan 2013
Edited: Jan on 21 Jan 2013
sorted_f(end-2:end, :)
It is surprising, that Thorsten's [f{end-2:end, :}] replies 3 elements only and a column vector.
  1 Comment
baby
baby on 21 Jan 2013
Edited: baby on 21 Jan 2013
wait,,it's not working
when i test with other data the result is wrong
sorted_f =
[3] [4] [ 9] 'low'
[1] [4] [13] 'low'
[7] [7] [16] 'high'
[7] [4] [25] 'high'
this is sorted f's result
and this is wrong minimal value of ur command
[1] [4] [13] 'low'
[7] [7] [16] 'high'
[7] [4] [25] 'high'
the true result is
[3] [4] [ 9] 'low'
[1] [4] [13] 'low'
[7] [7] [16] 'high'
as u see the command not give the true result
it just select three data from bottom
can u fix it?

Sign in to comment.

More Answers (2)

Thorsten
Thorsten on 21 Jan 2013
[f{end-2:end, :}]

Thorsten
Thorsten on 21 Jan 2013
reshape({f{end-2:end,:}}, [3 3])

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!