Identify & Removing Linear Dependent row/s

42 views (last 30 days)
How can I print this matrix so that it finds and prints on the screen a column of the matrix that can be deleted so that the remaining columns still span R4?
Matrix = [10,-7,1,4,6;-8,4,-6,-10,-3;-7,11,-5,-1,-8;3,-1,10,12,12]
Matrix = 4×5
10 -7 1 4 6 -8 4 -6 -10 -3 -7 11 -5 -1 -8 3 -1 10 12 12
A=[10,-7,1,4,6;-8,4,-6,-10,-3;-7,11,-5,-1,-8;3,-1,10,12,12];
%rref(A) I'm not sure how this rref would work but I know I would need an if conditional.
I can't figure out how to remove the specific column based on if it is linearly dependent/independent.
  3 Comments
Image Analyst
Image Analyst on 13 Feb 2022
Which column do you want to delete? Just do
Matrix(:, 4) = []; % Delete column 4.
What do you mean by "still span R4"? For this 2-D Matrix, what is R4? What is your expected output?
Ethan Maxey
Ethan Maxey on 13 Feb 2022
I would like the result to print the matrix without the linearly dependent column(s). R4 is the rank. It is determined by the maximum number of linearly independent columns.
The issue is I am not allowed to hard code it by just removing column 4, it has to work with any given matrix to remove the linearly dependent column(s).

Sign in to comment.

Accepted Answer

Voss
Voss on 13 Feb 2022
How about this?
Matrix = [10,-7,1,4,6;-8,4,-6,-10,-3;-7,11,-5,-1,-8;3,-1,10,12,12]
Matrix = 4×5
10 -7 1 4 6 -8 4 -6 -10 -3 -7 11 -5 -1 -8 3 -1 10 12 12
[~,p] = rref(Matrix)
p = 1×4
1 2 3 5
removed_column_idx = setdiff(1:size(Matrix,2),p)
removed_column_idx = 4
removed_columns = Matrix(:,removed_column_idx)
removed_columns = 4×1
4 -10 -1 12
reduced_Matrix = Matrix(:,p)
reduced_Matrix = 4×4
10 -7 1 6 -8 4 -6 -3 -7 11 -5 -8 3 -1 10 12

More Answers (0)

Categories

Find more on Elementary Math in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!