Sortrows_function of a Matrix

3 views (last 30 days)
Mark S
Mark S on 14 Mar 2020
Commented: Ameer Hamza on 14 Mar 2020
T=[1:10;40,43,18,43,34,18,23,31,44,38]';
T=ShortestTime(T)
T=LongestTime(T)
function [c]=ShortestTime(T)
c=sortrows(T,[2 1])
end
function [c]=LongestTime(T)
c=sortrows(T,[-2 1])
end
Hi, I wrote a little script to sort a matrix. But now I want that Matlab write only the first column of the matrix. How do I do that?

Answers (1)

Ameer Hamza
Ameer Hamza on 14 Mar 2020
You can get the first column of a matrix by indexing like this
first_column = T(:,1);
  2 Comments
Mark S
Mark S on 14 Mar 2020
Edited: Mark S on 14 Mar 2020
Ok, thanks now it works. But when i run the script it write every time also the sortet Matrix.
But i want only that Matlab write the solution of the function: ShortestTime and LongestTime.
How can i do this?
T=[1:10;40,43,18,43,34,18,23,31,44,38]';
T=ShortestTime(T)
T=LongestTime(T)
function [c]=ShortestTime(T);
c=sortrows(T,[2 1])
ShortestTime = T(:,1)
end
function [c]=LongestTime(T)
c=sortrows(T,[-2 1])
LongestTime = T(:,1)
end
Ameer Hamza
Ameer Hamza on 14 Mar 2020
I am not sure about your question. Maybe you want to save them in different variables
T=[1:10;40,43,18,43,34,18,23,31,44,38]';
T1=ShortestTime(T);
T2=LongestTime(T);

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!