Be sure to read the indexing page first.
Assigning a matrix to a variable can be done using the = operator.
>> A = [1 2 3; 3 5 2; 3 2 5]
A =
1 2 3
3 5 2
3 2 5
To change one entry in a matrix, assign to the indexed value:
>> A(1,3) = 3.225
A =
1.0000 2.0000 3.2250
3.0000 5.0000 2.0000
3.0000 2.0000 5.0000
If a matrix is not assigned, a sufficiently large matrix is generated.
>> B(3,5) = 2
B =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 2
If a matrix is assigned, but does not contain the element, the matrix is made sufficiently large.
>> B(5,5) = 3
B =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 2
0 0 0 0 0
0 0 0 0 3
You can assign to a block within a matrix. If the right hand side is a scalar, all values within that block are assigned that value. If the right hand side is a matrix, it must have the same dimensions of the block you are assigning to. The matrix is automatically enlarged if you index outside the matrix.
>> A = [1:5; 2:6; 3:7]
A =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
>> A(1:4, 5) = 1
A =
1 2 3 4 1
2 3 4 5 1
3 4 5 6 1
0 0 0 0 1
>> A([1 3], [1 3:4]) = [-1 -2 -3; -4 -5 -6]
-1 2 -2 -3 1
2 3 4 5 1
-4 4 -5 -6 1
0 0 0 0 1
The colon and end can also be used to denote a row:
>> A(:, end-1) = 2
-1 2 -2 2 1
2 3 4 2 1
-4 4 -5 2 1
0 0 0 2 1