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

2 次查看(过去 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 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by