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

Matt J
Matt J 2023년 12월 1일
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.

댓글을 달려면 로그인하십시오.

답변 (1개)

John D'Errico
John D'Errico 2023년 12월 1일

0 개 추천

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.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2023b

질문:

2023년 12월 1일

답변:

2023년 12월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by