24 views (last 30 days)

So I have a problem with finding out scaling. I have a vector x1 and a vector x2. I suspect that some elements of x2 might be scaled versions of x1.

I need to see if they are indeed scaled.

so A.x1 = x2, and I need to solve A = x1^-1.x2.

Any ideas how to implement that?

Matt Fig
on 14 Feb 2011

If

A = [a 0;0 b] % a and b unknowns

Ax = y % The governing relation between known col vects x and y.

then

A = diag(y./x)

Matt Tearle
on 14 Feb 2011

If it's just two vectors then you could do

A = x2(1)/x1(1)

norm(A*x1 - x2)

A slightly more generalizable way is

A = x1\x2

norm(A*x1 - x2)

Check to see if the result is on the order of machine roundoff.

Doug Hull
on 14 Feb 2011

Abhilash said: "Thanks! I tried that, but it doesn't really solve my purpose.

Here's a link form Wiki...this is actually what I need to implement -

http://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors#Examples_in_the_plane

Unequal scaling is the one I'm looking at."

Matt Tearle
on 14 Feb 2011

Opportunities for recent engineering grads.

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

Start Hunting!
## 0 Comments

Sign in to comment.