# MATLAB’s Array

### What is an Array?

An array is a collection of similar datatype elements in contiguous memory location. Every element in array is stored with an index number starting from 0. First element of an array is stored in 0th position index. Any element can be easily accessed using the index number.

### MATLAB’s Array

In MATLAB, arrays are used to store numbers and provide various function like ones(), zeros() to ease out difficult operations while programming. Multidimensional arrays are supported in MATLAB.

Simple example:

M1=[1,6,2]

N1=[1,2,3;4,5,6;7,2,4]

M1 is one-dimensional array, whereas n1 is multidimensional array.

### Various operations of arrays

1.ones()

In other programming languages we create array of all element of ones manually but in MATLAB we have been provided with an in-built function to ease out the task.

In MATLAB, to create an array of all elements of ones, we use ones() function.

Example

``` >>ones(4)
OUTPUT:
Ans =
1  1  1  1
1  1  1  1
1  1  1  1
1  1  1  1 ```

2.zeros

In MATLAB, to create an array of all elements of zeros, we use zeros() function.

Example

``` >>zeros(4)
OUTPUT:
Ans =
0  0  0  0
0  0  0  0
0  0  0  0
0  0  0  0 ```

3. rand()

This function is used to create random numbers in an array.

In MATLAB, to create an array of random values, we use rand() function.

Example

``` >>rand(2,2)
OUTPUT:
Ans =
0.456   0.789
0.745   0.457 ```

4.magic()

This function creates a magic square array. In magic square, when we add elements of row-wise, or column-wise or diagonally we get the same sum.

`magic(4)`

Output:

``` ans =
16     2     3    13
5    11    10     8
9     7     6    12
4    14    15     1 ```

### Multidimensional arrays

In MATLAB multidimensional arrays are supported. It is an extension of our normal arrays. We first try to create a 2D array then we extend it to create multidimensional array. We can use functions which we have earlier discussed to create multidimensional arrays.

Let’s take various examples of Multidimensional Array.

``` c = rand(4,4,3)

c(:,:,1) =

0.7572    0.0759    0.9340    0.0119
0.7537    0.0540    0.1299    0.3371
0.3804    0.5308    0.5688    0.1622
0.5678    0.7792    0.4694    0.7943

c(:,:,2) =

0.3112    0.2630    0.4505    0.1524
0.5285    0.6541    0.0838    0.8258
0.1656    0.6892    0.2290    0.5383
0.6020    0.7482    0.9133    0.9961
c(:,:,3) =

0.0782    0.0046    0.0844    0.4314
0.4427    0.7749    0.3998    0.9106
0.1067    0.8173    0.2599    0.1818
0.9619    0.8687    0.8001    0.2638 ```

We have used MATLAB online to execute this code and obtain the result as we can in this screenshot.

### MatlabStruct to Array Conversions

As we can see the above illustration, where cell array of type structs can be transformed to array and cell array irrespective of data it contains and vice versa. Struct array also can be transformed to various forms of array representation like shown above and interchangeably from array, cell array to struct array. Array can be of any dimension can be used to perform the above transformation.

### Array functions

Above-mentioned comments are executed in the MATLAB’s command line with the help of examples matrices.

àPermute() function is executed below.

Create a 3x4x2 array and permute it so that dimensions 1st and 3rd are switched, resulting in a 2x4x3 array.

``` rng default
A = rand(4,3,2)
B = permute(A,[3 2 1])

A(:,:,1) =

0.8147    0.6324    0.9575
0.9058    0.0975    0.9649
0.1270    0.2785    0.1576
0.9134    0.5469    0.9706

A(:,:,2) =

0.9572    0.4218    0.6557
0.4854    0.9157    0.0357
0.8003    0.7922    0.8491
0.1419    0.9595    0.9340

B(:,:,1) =

0.8147    0.6324    0.9575
0.9572    0.4218    0.6557

B(:,:,2) =

0.9058    0.0975    0.9649
0.4854    0.9157    0.0357

B(:,:,3) =

0.1270    0.2785    0.1576
0.8003    0.7922    0.8491

B(:,:,4) =

0.9134    0.5469    0.9706
0.1419    0.9595    0.9340
àsort() function is executed with the help of an exampleon Matlab’s command line.
Script file:
p = [ 93 85 12 19 5 10 19 17]
sort(p)
o = [12 16 4; 65 8 9; 2 10 1]
sort(o, 1)
sort(o, 2) ```

Output: We have used MATLAB online to execute this code and obtain the result as we can in this screenshot.

àCirshift() function is executed with the help of examples on Matlab’s command line.

``` p = [21 21 13; 14 15 6; 27 18 9]
s = circshift(a,1)
u = circshift(a,[1 -1])

p =

21    21    13
14    15     6
27    18     9 ```

Few more functions like length(), ndims() are executed with the help of examples.

``` p=[8.1,9.4,1.2,8/4,0.6,7,9,79];
length(p)
s=rand(0,7,1,2);
ndims(s)
numel(s) ```

Output: We have used MATLAB online to execute this code and obtain the result as we can in this screenshot.

àndgrid() function is executed with the help of example.

This function replicates the grid vectors y1,y2,...,yn to produce an n-dimensional full grid as shown below.

``` [X,Y] = ndgrid(1:3:18,2:2:14)

X =

1     1     1     1     1     1     1
4     4     4     4     4     4     4
7     7     7     7     7     7     7
10    10    10    10    10    10    10
13    13    13    13    13    13    13
16    16    16    16    16    16    16

Y =

2     4     6     8    10    12    14
2     4     6     8    10    12    14
2     4     6     8    10    12    14
2     4     6     8    10    12    14
2     4     6     8    10    12    14
2     4     6     8    10    12    14 ```

àflipud() function is executed with the help of example.

``` A = {'e' 'b' 'i'; 'e' 'j' 'f'; 'a' 'h' 'i'}
B = flipud(A) ```

Output:

### Cell Arrays

Cell arrays are used when we want to store different datatypes in one array, where in one cell of cell array, different dimension arrays are stored. We use a function called cell() to create cell arrays in Matlab.

Example:

``` o=cell(2,5);
o={'R','B','G','Y','W';12345} ```

output:

``` o =
{
[1,1] = R
[2,1] =  1
[1,2] = B
[2,2] =  2
[1,3] = G
[2,3] =  3
[1,4] = Y
[2,4] =  4
[1,5] = W
[2,5] =  5
} ```

We have used MATLAB online to execute this code and obtain the result as we can in this screenshot.

#### Conclusion:

Utilizing arrays in different programming language has made the manual undertakings simple and are utilized by the software engineers. There are benefits of utilizing array like getting to the components in the array is simple which can be executed utilizing basic steps, there are no presentation issues in the program, appropriate utilization of memory, quicker execution and accommodating in carrying out the projects utilizing stack trees, linked list, and so on.