Matlab "thinks" in vector's and matrices, and it is most efficient if Matlab users treat every variable as a vector or a matrix. I will followup on this latter. We will start by defining some vectors and some matrices.
To practice these commands, either cut and paste or type something similar in you Matlab window.
Define a matrix A -- use [] to signify the start and end. Use ; to signify the row breaks
>> A = [ 1 2; 3 4] A = 1 2 3 4
Define a matrix A silently -- note the ; at the end of the line
>> A = [ 1 2; 3 4];
Define a row vector b
>> b = [1 2 3 4] b = 1 2 3 4
Transpose it to a column vector -- use '
>> b = [1 2 3 4]' b = 1 2 3 4
Enter it as a column vector
>> b = [1; 2; 3; 4] b = 1 2 3 4
Change an element
>> b(1) = 4 b = 4 2 3 4
The current variables are;
>> whos Name Size Bytes Class A 2x2 32 double array b 4x1 32 double array Grand total is 8 elements using 64 bytes
A sparse matrix or vector usually has many zero entries
Convert from a dense matrix
>> A = sparse(A) A = (1,1) 1 (2,1) 3 (1,2) 2 (2,2) 4
Enter it directly
>> A(1,1) = 2 A = (1,1) 2 (2,1) 3 (1,2) 2 (2,2) 4
The range operator allows one to set up a vector of equally spaced entries.
Defining vectors with the range operator
>> x = 1:4 x = 1 2 3 4 >> x = 1:2:6 x = 1 3 5
Accessing data from arrays with the range operator
>> A = [ 1 2; 3 4]; >> A(1,:) ans = 1 2 >> A(:,1) ans = 1 3 >> A = rand(4), x = 2:3 A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 x = 2 3 >> A(x,x) ans = 0.7621 0.4447 0.4565 0.6154
Creating meshes of two dimensional coordinates
>> [x,y] = meshgrid(1:2,1:3) x = 1 2 1 2 1 2 y = 1 1 2 2 3 3
These operators access basic array information
Find the length of a vector
>> b = [1 2 3 4] >> length(b) ans = 4
Find the size of a matrix
>> A = [ 1 2; 3 4]; >> size(A) ans = 2 2
Reshape a matrix
>> A = [ 1 2; 3 4]; >> reshape(A,4,1) ans = 1 3 2 4
Find the number of dimensions of a matrix
>> A = [ 1 2; 3 4]; >> ndims(A) ans = 2
If you want a square matrix, these routines require only one size argument. If you want a rectangular matrix, you must supply the dimensions.
A matrix of all zeros
>> A = zeros(4,2) A = 0 0 0 0 0 0 0 0
A matrix of all ones
>> A = ones(4) A = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
A matrix of uniformly distribed random numbers on (0,1)
>> A = rand(4) A = 0.2190 0.9347 0.0346 0.0077 0.0470 0.3835 0.0535 0.3834 0.6789 0.5194 0.5297 0.0668 0.6793 0.8310 0.6711 0.4175
An identity matrix
>> A = eye(4) A = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
David Eyre