Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: How to reduce a sigular matrix to a full rank matrix in matlab
Replies: 3   Last Post: Dec 12, 2012 9:50 AM

 Messages: [ Previous | Next ]
 Shijun Posts: 1 Registered: 12/12/12
Re: How to reduce a sigular matrix to a full rank matrix in matlab
Posted: Dec 12, 2012 3:32 AM

use function rref, if A is a n by m matrix, and n>=m,
[~, jb]= rref(A);
Then the full rank matrix is
A_f= A(:, jb);

zbxu@ucolick.org (oasis) wrote in message <b6b43b21.0402092021.c3a147b@posting.google.com>...
> the rank of the new matrix is not full
> "Giampy" <campa@cemr.wvu.edu> wrote in message news:<bvujou\$1111h3\$1@ID-97186.news.uni-berlin.de>...

> > > Actually it doesn't work,the rank for the new matrix is 64, it seems
> >
> >
> > if you use as second row
> >
> > k=rank(A80);
> > idx=1:k;
> >
> > it gives a k*k matrices
> >
> > you mean that the rank of the resulting matrix is not full ??
> >
> >

> > > strange because from the theory, it should work.
> > > "Giampy" <campa@cemr.wvu.edu> wrote in message

> > news:<bvtkrp\$104n6d\$1@ID-97186.news.uni-berlin.de>...
> > > > > How to find the linear dependent column/row
> > > >
> > > > i am not sure why you want to do that,
> > > > one way would be :
> > > >
> > > > [U,S,V]=svd(A80);
> > > > idx=find(diag(S)>1e-15);
> > > > A72=U(idx,idx)*S(idx,idx)*V(idx,idx)';
> > > >
> > > > but i think you should have a careful look to orth, null
> > > > and related functions before you do anything,
> > > > since there is probably a more straightforward way
> > > > to do whatever you are trying to do ...
> > > >
> > > > giampy

Date Subject Author
12/12/12 Shijun
12/12/12 Matt J