Non-square matrix inverse

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 Commento

Matt J
Matt J il 1 Dic 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.

Accedi per commentare.

Risposte (1)

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.

Prodotti

Release

R2023b

Richiesto:

il 1 Dic 2023

Risposto:

il 1 Dic 2023

Community Treasure Hunt

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

Start Hunting!

Translated by