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

12 次查看(过去 30 天)
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

采纳的回答

Jan
Jan 2013-1-21
编辑:Jan 2013-1-21
sorted_f(end-2:end, :)
It is surprising, that Thorsten's [f{end-2:end, :}] replies 3 elements only and a column vector.
  1 个评论
baby
baby 2013-1-21
编辑:baby 2013-1-21
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?

请先登录,再进行评论。

更多回答(2 个)

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

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

类别

Help CenterFile Exchange 中查找有关 Operators and Elementary Operations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by