In our previous post we showed how to create a 3D matrix in Octave, for example this `2x4x3`

matrix:

>> A = zeros(2, 4, 3);
>> A
A =
ans(:,:,1) =
0 0 0 0
0 0 0 0
ans(:,:,2) =
0 0 0 0
0 0 0 0
ans(:,:,3) =
0 0 0 0
0 0 0 0

What if we want to copy a 2D matrix slice like

>> B = ones(2, 4)
B =
1 1 1 1
1 1 1 1

to the 3D matrix?

First, we need to think about which matrix indices we need to copy to.

Obviously, since `B`

is a `2x4`

matrix and A is a `2x4x3`

matrix, the third dimension needs to be fixed since the size of the first and second dimension of `A`

is identical to the dimension of `B`

.

Hence we can copy `B`

to either

`A(:,:,1)`

or`A(:,:,2)`

or`A(:,:,3)`

For example, we can copy `B`

to `A(:,:,2)`

using

A(:,:,2) = B

In our example with `B = ones(2,4)`

and `A = zeros(2,4,3)`

will look like this:

>> A(:,:,2) = B
A =
ans(:,:,1) =
0 0 0 0
0 0 0 0
ans(:,:,2) =
1 1 1 1
1 1 1 1
ans(:,:,3) =
0 0 0 0
0 0 0 0