To sort an array in MATLAB, you can use the `sort` function, which organizes the elements in ascending order by default.
sortedArray = sort(originalArray);
Understanding Arrays in MATLAB
What is an Array?
An array in MATLAB is a collection of values organized in a structured format. The two primary types of arrays are:
- Vectors: One-dimensional arrays that can be either row or column vectors.
- Matrices: Two-dimensional arrays where data is organized in rows and columns.
Arrays are fundamental to MATLAB programming, allowing you to store and manipulate data efficiently.
The Role of Arrays in Data Handling
Sorting is often a necessary task in data analysis. Whether you are preparing data for visualization, statistical analysis, or machine learning, understanding how to effectively sort arrays will greatly enhance your capabilities in MATLAB.

Sorting Functions in MATLAB
Basic Sorting Functions
One of the most straightforward ways to sort an array in MATLAB is by using the `sort` function.
- Definition: The `sort` function organizes the elements of an array in ascending order by default.
- Syntax:
B = sort(A)
- Example: If you have a numeric array and want to sort it, you can do it as follows:
A = [5, 2, 9, 1, 5, 6]; B = sort(A);
This code will yield:
B will be [1, 2, 5, 5, 6, 9];
This function operates by comparing the elements of array `A` and rearranging them in ascending order.
Advanced Sorting Options
Sorting in Descending Order
If you need to sort values in a descending order, you can achieve this with an additional argument.
- Syntax:
B = sort(A, 'descend')
- Example:
A = [4, 2, 3, 6, 1]; B = sort(A, 'descend');
After executing this code, the result will be:
B will be [6, 4, 3, 2, 1];
This functionality is particularly useful for scenarios where higher values are of greater significance.
Sorting Rows or Columns
For matrices, sorting can be performed along specific dimensions: either rows or columns.
- Syntax:
- For all columns (default action):
B = sort(A);
- For specific rows:
B = sort(A, 2); % Sorts each row
- Example:
A = [4, 2, 3; 6, 1, 5]; B_col = sort(A); % Sorts each column B_row = sort(A, 2); % Sorts each row
The operation sorts each row or column independently, allowing for flexible data organization.
Sorting with Indices
Another powerful feature of the `sort` function is its ability to return the indices of the sorted array.
- Syntax:
[B, I] = sort(A)
Where:
-
`B` contains the sorted values,
-
`I` contains the original indices of the values in `A`.
-
Example:
A = [3, 1, 2]; [B, I] = sort(A);
The output will be:
B = [1, 2, 3];
I = [2, 3, 1]; % the original indices of the sorted elements
This is particularly useful for tracking where elements were located prior to sorting, which can be critical in many applications.

Sorting Complex Data Types
Sorting Structures and Cell Arrays
Sorting is not limited to numeric arrays; you can also sort structures and cell arrays in MATLAB. For structures, you can sort based on specific fields.
- Example:
S(1).value = 3; S(2).value = 1; S(3).value = 2; [~, I] = sort([S.value]); sorted_S = S(I);
In this case, you sort the structures by their `value` field, enabling you to manage complex datasets seamlessly.
Using Custom Sorting Functions
For more specialized sorting needs, MATLAB offers the `sortrows` function, which is particularly useful for tables and cell arrays.
- Example:
T = table([1; 2; 3], [3; 2; 1]); sorted_T = sortrows(T, 2); % Sort by the second column
With `sortrows`, you can specify the column based on which you want to perform the sorting, adding a layer of flexibility for data manipulation.

Performance Considerations
Efficiency of Sorting in MATLAB
MATLAB is designed with built-in optimizations for sorting algorithms, which makes it efficient for handling arrays, especially large datasets. Different sorting algorithms may be employed based on the data type, and knowing that MATLAB is efficient under the hood allows you to focus more on analysis rather than performance tuning.
Tips for Efficient Sorting
When sorting large arrays, consider:
- Using built-in functions like `sort`, which are optimized.
- Avoiding unnecessary copying of data by working with references where possible.
- Pre-allocating memory for large datasets can save time and improve performance.

Conclusion
Sorting is a crucial skill when working with any kind of data in MATLAB. Mastering the various sorting techniques, from simple numeric arrays to more complex data structures, will significantly enhance your data manipulation abilities. Practice by trying out different examples and using various sorting options available in MATLAB to become proficient in sorting arrays effectively.

Additional Resources
For further exploration, review MATLAB documentation on the `sort` function and related topics, participate in online forums, or follow dedicated courses that can deepen your knowledge in MATLAB programming. Engaging in hands-on exercises will also help solidify your understanding of how to sort arrays with ease.