>> % MATLAB Recitation Demo for Tuesday, September 23.
>> % File: rdemo3
>> %
>> % *** Computing the nullspace of A via nullbasis(A).
>> % *** Display formats: format short and format rat.
>> %
>> %
>> % *** From the Athena Dash menu, start MATLAB using
>> % *** Courseware / 18 Mathematics / 18.06 / 18.06 MATLAB
>> % *** Otherwise, MATLAB will not be able to find the new
>> % *** command "nullbasis" - which is demonstrated below.
>> %
>> % Remarks: By default, MATLAB results are displayed in a
>> % scaled fixed point format with 5 digits.
>> % We can display results as fractions by using the command
>> % format rat.
>> % 'help format' gives additional details and formats.
>> %
>> % The MATLAB command nullbasis(A) computes a matrix whose columns
>> % are "special" solutions to Ax = 0.
>> % These solutions express the zero vector as 1 * free column +
>> % some linear combination of the previous pivot columns.
>> %
>> diary rdemo3
>>
>> % Let's compute the nullspace of the following 3 by 5 matrix A.
>> % For comparison, we also compute its reduced row echelon form.
>> % Can you see how the nonzero entries in the free columns are
>> % related to the entries in the "special" solutions?!
>>
>> A = [-1 3 8 -2 1;
-1 3 9 -1 3;
1 -3 -9 1 -3]
A =
-1 3 8 -2 1
-1 3 9 -1 3
1 -3 -9 1 -3
>> Z = nullbasis(A)
Z =
3 -10 -15
1 0 0
0 -1 -2
0 1 0
0 0 1
>> R = ref(A)
R =
1 -3 0 10 15
0 0 1 1 2
0 0 0 0 0
>> %
>> %%%%%%%%%%%%%%%%%%%%%%%
>> %%% Another Example %%%
>> %%%%%%%%%%%%%%%%%%%%%%%
>> %
>> A = [24 8 -3 3 0 13;
24 8 -3 4 4 16]
A =
24 8 -3 3 0 13
24 8 -3 4 4 16
>> Z = nullbasis(A)
Z =
-0.3333 0.1250 0.5000 -0.1667
1.0000 0 0 0
0 1.0000 0 0
0 0 -4.0000 -3.0000
0 0 1.0000 0
0 0 0 1.0000
>> %
>> %%% Use format rat to display entries as fractions.
>> %
>> format rat
>> Z
Z =
-1/3 1/8 1/2 -1/6
1 0 0 0
0 1 0 0
0 0 -4 -3
0 0 1 0
0 0 0 1
>> %
>> %%% With practice, you should be able to inspect the reduced
>> %%% row echelon form and determine the "special" solutions.
>> %
>> R = ref(A)
R =
1 1/3 -1/8 0 -1/2 1/6
0 0 0 1 4 3
>> diary off