# Non-square matrix inverse

11 views (last 30 days)
Mohammad on 1 Dec 2023
Answered: John D'Errico on 1 Dec 2023
I have a set of data, where x is a 8*100 matrix. I convert it into xyz coordinates by multiplying with a transformation vector t (3*8), so that:
B = t*x, resulting in B which is a 3*100 matrix.
I am trying to figure out a way to go from B back to x.
I have tried to do x = pinv(t) * B, but the values were significantly off.
Would appreciate any help!
##### 1 CommentShow -1 older commentsHide -1 older comments
Matt J on 1 Dec 2023
I have tried to do x = pinv(t) * B, but the values were significantly off.
That's the best you are going to be able to do.

Sign in to comment.

### Answers (1)

John D'Errico on 1 Dec 2023
You CANNOT do so. That is, you cannot learn the original values. You cannot go backwards. A simple example is:
Choose any two numbers. Call them x and y. I'll pick them for you as an example:
x = rand
x = 0.6625
y = rand
y = 0.2189
Having done so, add them together.
z = x + y
z = 0.8814
Now, knowing ONLY the value of z, and the fact that you added x and y together to get z, can you now infer the original values of x and y? OF COURSE NOT!
x and y could be ANY numbers that added together, yield 0.8814.
##### 0 CommentsShow -2 older commentsHide -2 older comments

Sign in to comment.

### Categories

Find more on Logical in Help Center and File Exchange

R2023b

### Community Treasure Hunt

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

Start Hunting!